这是什么样的日期戳?

时间:2021-04-04 23:06:15

I'm looking at the OLK files created by Outlook for Mac, and these appear to be the date fields, but I cannot figure out what kind of binary dates they are.

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

There are 2 values in one file (reversed from LE):

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

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

One of these apparently decodes to Thu, 06 Sep 2018 00:34:23 -0400, but I can't figure out how.

其中一个显然解码到星期四,2018年9月6日00:34:23 -0400,但我无法弄清楚如何。

These don't appear to be any of the Windows FileTime or OLE formats, and it isn't any of the Mac formats that I've seen before.

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

Here's another example:

这是另一个例子:

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

Any help greatly appreciated.

任何帮助非常感谢。

1 个解决方案

#1


4  

It's a 64 bit floating point value.

它是64位浮点值。

See here: https://developer.apple.com/documentation/foundation/nsdate

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

Returns a TimeInterval which happens to be typealias TimeInterval = Double

返回恰好是typealias TimeInterval = Double的TimeInterval

Ref: https://developer.apple.com/documentation/foundation/timeinterval

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

As in the source above, the epoch here is seconds from Jan 1 2001. But it's stored as a float.

如上面的源代码所示,这里的纪元是从2001年1月1日起的秒数。但是它存储为浮点数。


41 BB 67 A9 0A 00 00 00 is about 459778314 seconds which is Jul 28 2015, 12:11:54 PM

41 BB 67 A9 0A 00 00 00约为459778314秒,即2015年7月28日,下午12:11:54

41 C0 A0 72 E7 F5 F6 A9 is about 557901263 which is Sep 6 2018, 6:34:23 AM UTC

41 C0 A0 72 E7 F5 F6 A9约为557901263,即2018年9月6日,上午6:34:23 UTC

41 C0 A0 72 E9 2B 82 BA is about 557901266 which is Sep 6 2018, 6:34:26 AM UTC

41 C0 A0 72 E9 2B 82 BA约为557901266,即2018年9月6日,上午6:34:26 UTC

#1


4  

It's a 64 bit floating point value.

它是64位浮点值。

See here: https://developer.apple.com/documentation/foundation/nsdate

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

Returns a TimeInterval which happens to be typealias TimeInterval = Double

返回恰好是typealias TimeInterval = Double的TimeInterval

Ref: https://developer.apple.com/documentation/foundation/timeinterval

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

As in the source above, the epoch here is seconds from Jan 1 2001. But it's stored as a float.

如上面的源代码所示,这里的纪元是从2001年1月1日起的秒数。但是它存储为浮点数。


41 BB 67 A9 0A 00 00 00 is about 459778314 seconds which is Jul 28 2015, 12:11:54 PM

41 BB 67 A9 0A 00 00 00约为459778314秒,即2015年7月28日,下午12:11:54

41 C0 A0 72 E7 F5 F6 A9 is about 557901263 which is Sep 6 2018, 6:34:23 AM UTC

41 C0 A0 72 E7 F5 F6 A9约为557901263,即2018年9月6日,上午6:34:23 UTC

41 C0 A0 72 E9 2B 82 BA is about 557901266 which is Sep 6 2018, 6:34:26 AM UTC

41 C0 A0 72 E9 2B 82 BA约为557901266,即2018年9月6日,上午6:34:26 UTC