计算机通常将日期计算为自某个任意时间点(“纪元日期”)以来的秒数。您可以使用浮点数来实现亚秒级精度。
UNIX 纪元日期为 UTC 时间 1970 年 1 月午夜。 (又名格林威治标准时间。)
Mac OS 和 iOS 的纪元日期是 2001 年 1 月 1 日午夜。
Unix Epoch 日期是互联网上相当普遍的日期交换标准。我敢打赌,这是一个 Unix 纪元日期。
NSDate 具有在这些“秒数”日期和 NSDate 对象之间进行转换的方法:
+[NSDate dateWithTimeIntervalSince1970:] //Unix Epoch to NSDate
+[NSDate dateWithTimeIntervalSinceReferenceDate:] //Mac * iOS Epoch to NSDate
-[NSDate timeIntervalSince1970] //Unix epoch value for an NSDate
-[NSDate timeIntervalSinceReferenceDate] //Mac & iOS epoch value for an NSDate
因此,您应该能够获取该日期并使用 timeIntervalSince1970 将其转换为 NSDate。请记住,您返回的日期将是格林威治标准时间,您需要将其转换为您当地的时区。
此代码将在 UTC 中将该日期显示为 NSDate:
NSTimeInterval interval = 1361964707.0;
NSDate *aDate = [NSDate dateWithTimeIntervalSince1970: interval];
NSLog(@"Date = %@", aDate);
我得到一个结果
日期 = 2013-02-27 11:31:47 +0000
鉴于那是 2013 年的日期,我敢打赌它是正确的。