2011-07-28 179 views
1

我知道Apple系統上的主要時間戳是CF絕對時間值(也稱爲Mac絕對時間),它是32位整數,自2001年1月1日以來的秒數計算得出UTC時間00:00:00。例如,219216022解碼時是2007年12月13日星期四05:20:22 UTC。Apple Mac和Unix時間戳

Mac/Unix系統上是否還有其他時間戳(默認的Unix時間戳是自01/01/1970 00:00:00 UTC以秒計算的32位整數)?

+1

ITYM「馬赫絕對時間」或「mach_absolute_time()」,而不是「Mac絕對時間」。 –

+0

請參閱http://developer.apple.com/library/mac/#qa/qa1398/_index.html –

+0

下面是我撰寫此問題時的工作內容:FYI:http://web.archive.org/web /20120620182552/http://code.google.com/p/opensourceforensics/wiki/TimestampConversion(不幸的是,它已經不再起作用了,我犯了一個錯誤,就是與一個將其擦除的人共享一個Google Code實例,幸運的是Wayback Machine仍然有它)。 – Dan

回答

1

是的。正如@MarcusJ指出的那樣,AIFF Specification有一個32位二進制時間戳,Amiga是自1978年1月1日以來的秒數,Mac上是自1904年1月1日以來的秒數。

+0

這是不正確的。在AIFF規範中,它們將日期字段存儲爲自1904年1月1日以來的秒數。 – MarcusJ

1

NSDate對象具有timeIntervalSince1970,但是它基於馬赫時間。含義[[NSDate date] timeIntervalSince1970]-NSTimeIntervalSince1970等於[NSDate timeIntervalSinceReferenceDate];