我知道谷歌浏览器使用一个整数时间戳,正确地称为 Webkit 时间戳,它是由自 01/01/1601 00:00:00 UTC 以来的微秒数计算的。我不确定这是一个 64 位有符号整数(这是最有意义的)还是一个 56 位整数?
这是一个示例时间戳:12883423549317375。这解码为 Sun,2009 年 4 月 5 日 16:45:49 UTC。关于它是如何工作的有什么好的参考吗?我搜索了 Webkit 网站,并没有找到有关此时间戳的文档。
我知道谷歌浏览器使用一个整数时间戳,正确地称为 Webkit 时间戳,它是由自 01/01/1601 00:00:00 UTC 以来的微秒数计算的。我不确定这是一个 64 位有符号整数(这是最有意义的)还是一个 56 位整数?
这是一个示例时间戳:12883423549317375。这解码为 Sun,2009 年 4 月 5 日 16:45:49 UTC。关于它是如何工作的有什么好的参考吗?我搜索了 Webkit 网站,并没有找到有关此时间戳的文档。
Chromium 中的时间通常在内部表示为int64
. 查看base::Time
各种特定于平台的实现,以了解有关如何进行转换的详细信息。
此外,由于这些时间戳经常出现在 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;
其中 time 是存储 webkit 时间戳的列的名称。