Dateformatter更改我的日期年份

Ale*_*dre 5 date objective-c nsdateformatter ios

我尝试使用dateformatter显示日期,但是这个更改了日期的年份.

这是方法:

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];
}
Run Code Online (Sandbox Code Playgroud)

这是控制台中显示的内容:

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
Run Code Online (Sandbox Code Playgroud)

我在这里.dateFormatter添加myDate一年,我真的不知道为什么.这种情况仅发生在一年中的最后2个日期(12月30日和31日).

谢谢你的帮助.

亚历山大

Jon*_*lli 8

使用

[dateFormatter setDateFormat:@"dd MMMM yyyy"]; // lowercase y
Run Code Online (Sandbox Code Playgroud)

你可能应该检查这个和这个.