2014-11-27 2 views
-3

Я видел много решений и пробовал это с последних 2 часов. Так что я отправляю свой код. Я вижу, что все в порядке с NSString, которая содержит дату.Проблема NSDate при создании из NSString

Но когда я попробовал конвертировать в NSDate. Это возврат и запись в нуль.

Вот мой код

NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 

NSString *str = @"2014-10-28 00:00:00 AM";  
NSLog(@"Date %@",str); ////Showing String Date 

[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; 
[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss"]; 

NSDate *dater = [formatter dateFromString:str]; 
NSLog(@"Dater %@",dater);  ////Showing null log 

Спасибо заранее.

+0

Формат не соответствует строке один. – Larme

+0

форматер определяет совершенно другой формат, разве вы его не заметили? ваш ввод: '' 2014-10-28 00:00:00 AM '' и ваш форматировщик: '' yyyy/MM/dd hh: mm: ss "'. они не соответствуют друг другу. – holex

+0

да теперь я понял. Я новичок –

ответ

0

Изменение с этим:

[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"]; 
0

Попробуйте изменить

[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss"]; 

в

[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss a"]; 

Очевидно, что DateFormat не соответствует формату в вашей строке даты, потому что ваша строка содержит AM/PM значение и формат вашего форматировщика не.