Сколько бит зарезервировано для меток времени Webkit (Google Chrome)? - PullRequest
1 голос
/ 28 июля 2011

Я знаю, что в Google Chrome используется целочисленная временная метка, правильно называемая временной меткой Webkit, которая рассчитывается по количеству микросекунд с 01.01.1601 00:00:00 UTC.Я не уверен, является ли это 64-разрядным целым числом со знаком (что было бы наиболее целесообразно) или 56-разрядным целым числом?

Вот пример временной отметки: 12883423549317375. Это декодируется как Sun, 05Апрель 2009 16:45:49 UTC.Любая хорошая ссылка там о том, как это работает?Я искал веб-сайт Webkit и не нашел документации этой метки времени.

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Время в хроме обычно представлено внутри как int64. Посмотрите на base::Time и различные реализации для конкретной платформы, чтобы узнать подробнее о том, как происходят преобразования.

1 голос
/ 26 июня 2012

Кроме того, поскольку эти временные метки часто встречаются в базах данных SQLite (в данных Chrome), мне часто приходится находить способ их декодирования на лету. Одна из моих самых посещаемых закладок - http://linuxsleuthing.blogspot.co.uk/2011/06/decoding-google-chrome-timestamps-in.html, которая говорит вам, как сделать это как часть SQL-запроса.

SELECT datetime((time/1000000)-11644473600, 'unixepoch', 'localtime') AS time FROM table;

Где время - имя столбца, в котором хранится временная метка веб-набора.

...