2014-02-05 4 views
0

У меня есть даты внутри строки с этим форматом:Анализировать NSString к NSDate

2014-02-05T23:09:19.642Z 
2014-02-05T23:09:54.645Z 
... 

Я пытался разобрать их NSDate выполнив следующие действия:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSDate *date = [formatter dateFromString:dateString]; 

Но дата оседает будучи нуль , так как это нужно сделать?

Я попытался с:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssZ"]; 

И это работает для

2014-02-05T23:13:51.000Z 

Но не с:

2014-02-05T23:23:44.420Z 
2014-02-05T23:01:19.620Z 
... 
+0

Вам не хватает дробных секунд в вашем формате. – rmaddy

+0

Я не думаю, что это заслуживает проголосовать – Madbreaks

+0

вы имеете в виду: [formatter setDateFormat: @ "yyyy-MM-dd'T'HH: mm: ss.sssZ"]; ? Я пробовал это, и он не работал. –

ответ

2

Просто измените форматировщик на

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:sss.SSSZ"]; 

Поскольку в вашей строке времени 2014-02-05T23:09:19.642Z у вас есть миллисекунды, вам нужно добавить SSS для этих миллисекунд

+0

Спасибо! это сработало –