非常奇怪的日期转换

时间:2013-01-16 13:53:44

标签: objective-c cocoa

我可以在我的应用中看到一个非常奇怪的日期转换。这是代码:

theDateString = [theDateFormatter stringFromDate:date];

如果date2007-12-31 00:00:00 +0100 theDateString2008

但如果日期为2004-12-31 00:00:00 +0100 theDateString2004.

- (NSString *)stringFromDate:(NSDate *)date中的方法是NSDateFormatter,它是一个mac app。

NSDateFormatter格式为:[theDateFormatter setDateFormat:@"Y"];

为什么? 感谢

1 个答案:

答案 0 :(得分:2)

您应该使用@"y"代替@"Y",因为大写字母“Y”根据“一年中的一周”指定年份。 2007年的第52周结束于2008年,这就是它回归2008而不是2007年的原因。

<强>更新
请参阅:http://waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/