NSDateFormatter stringFromDate:在12月31日返回错误的日期

时间:2014-01-07 17:21:54

标签: ios objective-c cocoa-touch

根据unixtimestamp.com - 截至2013年12月31日午夜时间戳为1388448000。

为什么会发生这种情况?

ViewController.m中的

NSDateFormatter *titleFormatter = [[NSDateFormatter alloc] init];
_titleFormatter = titleFormatter;
LLDB中的

(lldb) po [NSDate dateWithTimeIntervalSince1970:1388448000]
2013-12-31 00:00:00 +0000
(lldb) p [NSDate dateWithTimeIntervalSince1970:1388448000]
(id) $1 = 0x16e5c0b0
(lldb) po [self.titleFormatter stringFromDate:$1]
December 2014

1 个答案:

答案 0 :(得分:6)

我的错误。在我的代码中的某处:

[self.titleFormatter setDateFormat:@"MMMM YYYY"]

当然,在这种情况下,YYYY应该是yyyy。 Difference between 'YYYY' and 'yyyy' in NSDateFormatter