我可以在我的应用中看到一个非常奇怪的日期转换。这是代码:
theDateString = [theDateFormatter stringFromDate:date];
如果date
是2007-12-31 00:00:00 +0100
theDateString
为2008
但如果日期为2004-12-31 00:00:00 +0100
theDateString
为2004.
- (NSString *)stringFromDate:(NSDate *)date
中的方法是NSDateFormatter
,它是一个mac app。
NSDateFormatter格式为:[theDateFormatter setDateFormat:@"Y"];
为什么? 感谢
答案 0 :(得分:2)
您应该使用@"y"
代替@"Y"
,因为大写字母“Y”根据“一年中的一周”指定年份。 2007年的第52周结束于2008年,这就是它回归2008而不是2007年的原因。
<强>更新强>
请参阅:http://waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/