我有一个小问题,当我从 Instragm 得到答案时,我得到了这个日期格式:
"created_time" = 1361964707;
这到底是什么意思?特别是如何使用 NSdataFormatter 格式化它?
我正在寻找一种方法来格式化这样的日期。
"created_time": "Wed Dec 01 17:08:03 +0000 2010"
谢谢
我有一个小问题,当我从 Instragm 得到答案时,我得到了这个日期格式:
"created_time" = 1361964707;
这到底是什么意思?特别是如何使用 NSdataFormatter 格式化它?
我正在寻找一种方法来格式化这样的日期。
"created_time": "Wed Dec 01 17:08:03 +0000 2010"
谢谢
这是一个 unix 时间戳(http://en.wikipedia.org/wiki/Unix_time)。
完成后将其转换为 NSDate [NSDate dateWithTimeIntervalSince1970:];
,您可以在其上使用 NSDateFormatter。
计算机通常将日期计算为自某个任意时间点(“纪元日期”)以来的秒数。您可以使用浮点数来实现亚秒级精度。
UNIX 纪元日期是 UTC 时间 1970 年 1 月的午夜。(又名格林威治标准时间。)
Mac OS 和 iOS 的纪元日期是 2001 年 1 月 1 日午夜。
Unix Epoch 日期是 Internet 上相当普遍的日期交换标准。我敢打赌,这是一个 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 年的日期,我敢打赌它是正确的。