这是什么样的日期戳?

逆向工程 二进制格式
2021-06-11 21:38:00

我正在查看 Outlook for Mac 创建的 OLK 文件,这些文件似乎是日期字段,但我无法弄清楚它们是哪种二进制日期。

一个文件中有 2 个值(与 LE 相反):

DATE1: 41 C0 A0 72 E7 F5 F6 A9
DATE2: 41 C0 A0 72 E9 2B 82 BA

其中一个显然解码到 2018 年 9 月 6 日星期四 00:34:23 -0400,但我不知道如何解码。

这些似乎不是任何 Windows FileTime 或 OLE 格式,也不是我以前见过的任何 Mac 格式。

这是另一个例子:

41 BB 67 A9 0A 00 00 00 --> 7/28/2015 12:11:54 UTC

非常感谢任何帮助。

1个回答

它是一个 64 位浮点值。

请参阅此处:https : //developer.apple.com/documentation/foundation/nsdate

返回一个TimeInterval恰好是typealias TimeInterval = Double

参考:https : //developer.apple.com/documentation/foundation/timeinterval

在上面的来源中,这里的纪元是从 2001 年 1 月 1 日开始的几秒。但它存储为浮点数。


41 BB 67 A9 0A 00 00 00大约是459778314几秒钟Jul 28 2015, 12:11:54 PM

41 C0 A0 72 E7 F5 F6 A9是关于557901263哪个是Sep 6 2018, 6:34:23 AM UTC

41 C0 A0 72 E9 2B 82 BA是关于557901266哪个是Sep 6 2018, 6:34:26 AM UTC