NSDateFormatter dateFromString有时会返回null

时间:2013-11-11 20:01:49

标签: null nsstring nsdate nsdateformatter

在我的应用中,我使用此代码从NSDate创建NSString

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddhhmmss"];

dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone localTimeZone].secondsFromGMT];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:comment.created];

NSLog(@"comment.created %@ dateFromString %@",comment.created, dateFromString);

但对于某些字符串,它返回null!

对于输入20131031083130,它会返回2013-10-31 04:31:30,何时适用于20131107200617 - (null)

StreetJournal[32054:60b] comment.created 20131031083130 dateFromString 2013-10-31 04:31:30 +0000
StreetJournal[32054:60b] comment.created 20131107200617 dateFromString (null)

为什么?

1 个答案:

答案 0 :(得分:2)

将日期格式更改为 yyyyMMddHHmmss

我不知道'hh'和& 'HH',但我知道这是正确的做法。我测试了&它也在发挥作用。

修改

根据我的经验'hh'为12小时格式& 'HH'为24小时格式。