NSDateFormatter失去了一年

时间:2012-10-20 11:21:02

标签: objective-c ios nsstring nsdate nsdateformatter

我使用NSDateFormatter将日期NSString实例转换为NSDate对象。在某一点上,我意识到有些事情是不对的,当我进行检查时,似乎NSDateFormatter在从字符串转换为NSDate时失去了整整一年。

代码如下所示:

NSString *dateString = [dictionary objectForKey:@"match_date_time"];
if (dateString) {
     // dateString is "2012-10-30 04:30:00"

     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
     [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

     self.date = [formatter dateFromString:dateString];
     // self.date ends up 2011-10-30 04:30:00 +0000, yes 2011 not 2012.
}

有谁知道为什么NSDateFormatter失败如此悲惨?

谢谢!

1 个答案:

答案 0 :(得分:1)

只需写下代码

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];