我一直致力于从谷歌书签生成的导出文件中解析出书签。该文件包含以下日期属性:
ADD_DATE=“1231721701079000”
ADD_DATE=“1227217588219000”
这些不是标准的 Unix 风格时间戳。有人能在这里指出正确的方向吗?如果您真的想帮助我,我将使用 C# 来解析它们。
Chrome 使用 Windows 时间格式的修改形式(“Windows时代 http://blogs.msdn.com/b/oldnewthing/archive/2009/03/06/9461176.aspx”) 的时间戳,都在Bookmarks
文件和历史文件。 Windows 时间格式是自 1601 年 1 月 1 日以来的 100ns-es 数。Chrome 格式是自同一日期以来的微秒数,因此是 1/10。
要将 Chrome 时间戳与 Unix 纪元相互转换,您必须转换为秒并补偿两个基准日期时间 (11644473600) 之间的差异。
以下是 Unix、JavaScript(Unix 以毫秒为单位)、Windows 和 Chrome 时间戳的转换公式(您可以重新排列 +/× 和 -/÷,但会损失一点精度):
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)
请注意,这些数字相当大,因此您需要使用 64 位数字,或者像 PHP 的 BC-math 模块一样将它们作为字符串处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)