Chrome utiliza una forma modificada del formato de hora de Windows (‘Windows epoch’) por sus marcas de tiempo, tanto en el archivo Bookmarks
y los archivos de la historia. El formato de hora de Windows es el número de 100ns-es desde el 1 de enero de 1601. El formato de Chrome es el número de microsegundos desde la misma fecha y, por lo tanto, 1/10 del tamaño máximo.
Para convertir una marca de tiempo Chrome desde y hacia la época Unix, debe convertir a segundos y compensar la diferencia entre los dos horarios base (11644473600).
He aquí las fórmulas de conversión para Unix, JavaScript (Unix en milisegundos), Windows y marcas de tiempo cromo (puede reorganizar el +/x y -/÷, pero si no se pierden un poco de precisión):
u : Unix timestamp eg: 1378615325
j : JavaScript timestamp eg: 1378615325177
c : Chrome timestamp eg: 13902597987770000
w : Windows timestamp eg: 139025979877700000
u = (j/1000)
u = (c - 116444736000000) /10000000
u = (w - 1164447360000000)/100000000
j = (u * 1000)
j = (c - 116444736000000) /10000
j = (w - 1164447360000000)/100000
c = (u * 10000000) + 116444736000000
c = (j * 10000) + 116444736000000
c = (w/10)
w = (u * 100000000) + 1164447360000000
w = (j * 100000) + 1164447360000000
w = (c * 10)
Tenga en cuenta que estos son números bastante grandes, por lo que tendrá que usar números de 64 bits o manejarlos como cadenas con el módulo BC-math de PHP.
@Lothar ¿Es eso una afirmación tautológica? – Schwern
No, es hora del 1 de enero de 1970 en _micro_ segundos – mgkrebbs
@mgkrebbs ¡Tienes razón! Fijo. ¡Saluda a Dobie! – Schwern