NSDate,NSDateFormatter的奇怪行为

时间:2015-12-31 09:07:49

标签: ios objective-c iphone nsdate nsdateformatter

我在我的应用程序中格式化NSDate。使用以下代码:

paintComponent(Graphics)

但这项工作整年都很好,但在12月27日之后失败了。它在格式化日期为27日至12月或更长时间后增加一年。仅当我们使用 NSDate *now = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"YYYY-MM-dd HH:mm:ss"; NSString* currentDateTime = [dateFormatter stringFromDate:now]; NSLog(@"CurrentDateTime:%@", currentDateTime); dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; currentDateTime = [dateFormatter stringFromDate:now]; NSLog(@"CurrentDateTime 1 :%@", currentDateTime); [dateFormatter release]; 而不是"YYYY"时。一年之后,它再次正常工作。那么请您说明这背后的原因。

1 个答案:

答案 0 :(得分:1)

我的问题的答案如下:

"YYYY" is week-based calendar year.

"yyyy" is ordinary calendar year.

了解更多详情

Difference between 'yyyy' and 'YYYY'

Unicode Standard