6

我尝试使用 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];
}

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

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 日)。

谢谢你的帮助。

亚历山大

4

1 回答 1

9

采用

[dateFormatter setDateFormat:@"dd MMMM yyyy"]; // lowercase y

你可能应该检查thisthis

于 2012-05-04T11:45:45.193 回答