2013-11-11 6 views
1

В моем приложении я использую этот код для создания NSDate из NSString:NSDateFormatter dateFromString иногда возвращает нуль

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); 

Но для некоторой строки возвращает нуль!

Для ввода 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) 

Почему?

+0

Я думаю, что строка ввода отличается оба раза. Правильно? Если да, то, пожалуйста, предоставьте нам вводные строки. –

+0

@AkshitZaveri вы можете видеть это в журналах в конце сообщения. Но для вашего удобства я добавляю explonation выше –

+0

извините за просьбы ввода. Я этого не видел. –

ответ

2

изменить формат даты на yyyyMMddHHmmss.

Я не знаю разницы между «hh» & «HH», но я знаю, что это правильный способ сделать это. Я тестировал &, он тоже работает.

EDIT:

Насколько мой опыт 'чч' для 12-ти часов формата & 'HH' для 24 часов в формате.

Смежные вопросы