Objective c Dateformatter更改日期的年份
我试图用dateformatter显示一个日期,但这个会更改日期的年份 方法如下:Objective c Dateformatter更改日期的年份,objective-c,ios,date,nsdateformatter,Objective C,Ios,Date,Nsdateformatter,我试图用dateformatter显示一个日期,但这个会更改日期的年份 方法如下: setLabelWithDate:(NSdate *)date{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; [dateFormatter setTimeZone:gmt];
setLabelWithDate:(NSdate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
[dateFormatter setDateFormat:@"dd MMMM YYYY"];
NSLog(@"Date : %@",date);
NSLog(@"stringFromDate %@",[dateFormatter stringFromDate:date]);
self.selectedDateLabel.text = [dateFormatter stringFromDate:date];
[dateFormatter release];
}
这是控制台中显示的内容:
2012-05-04 13:08:50.442 MyAppli[3339:fb03] Date : 2012-12-30 00:00:00 +0000
2012-05-04 13:08:50.443 MyAppli[3339:fb03] stringFromDate 30 December 2013
我来了。dateFormatter将myDate添加一年,我真的不知道为什么。这种情况只发生在一年的最后两个日期(12月30日和31日)
谢谢你的帮助
亚历山大使用
[dateFormatter setDateFormat:@"dd MMMM yyyy"]; // lowercase y
您可能应该检查并。它使用yyyy来指定年份组件。一个常见的错误是使用YYYY。yyyy指定日历年,而yyyy指定ISO年-周日历中使用的年(年中的周)。在大多数情况下,yyyy和yyyy产生相同的数字,但它们可能不同。通常情况下,你应该使用日历年。惊人的答案。这只是发生在我身上;)为@Jonas Schnelli准备的一瓶葡萄酒