在iOS6中更改了NSDateFormatter dateFromString行为

时间:2012-10-05 17:50:51

标签: ios ios6 nsdateformatter

   NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
    [dateFormat setTimeZone:gmt];
    [dateFormat setDateFormat:@"h:mm a"];
    return [dateFormat dateFromString:text];

其中文字是9:16 AM用于在iOS6中返回1970年开始的日期,它返回的日期是这样的

2000-01-01 09:16:00 +0000

这是一个错误吗?无论如何切换到旧的vehaviour

2 个答案:

答案 0 :(得分:0)

解决方案是简单地将“1970”添加到时间文本中,然后将“yyyy”添加到格式中,但这似乎很糟糕

答案 1 :(得分:0)

他们肯定在iOS 6中使用日期解析更改了某些。我已经向Apple提交了一个关于它的错误。发布说明中有关于任何NSDateFormatter更改的注意事项。另请参阅我今天添加的解析的my similar bug