2014-12-22 4 views
0

Я пытаюсь создать NSDate из некоторых строк дат, которые у меня есть.nil вернулся с dateFromString NSDateFormatter

Вот что я делаю.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    NSLocale *enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; 
    [dateFormatter setLocale:enUSPOSIXLocale]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"]; 

    NSDate *now = [NSDate date]; 
    NSDate *deliveryETA = [dateFormatter dateFromString:deliveryDate]; 
    NSDate *createDate = [dateFormatter dateFromString:shipDate]; 

deliveryETA всегда ноль с этой строкой 2014-12-23T23:59:59 но createDate всегда правильно инициализирован.

Любая идея, почему это так?

+2

включают дефиниция 'deliveryDate' –

+0

Можете ли вы предоставить дополнительные данные (deliveryDate, shipDate) на свой вопрос о том, как вы получаете формат и как вы хотите получить? – Hiren

+0

'deliveryDate' is' 2014-12-23T23: 59: 59' – Clip

ответ

2

Change NSDateFormatter для deliveryETA Как

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
NSLocale *enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; 
[dateFormatter setLocale:enUSPOSIXLocale]; 

// chanegn this line 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 

NSDate *now = [NSDate date]; 

NSDate *deliveryETA = [dateFormatter dateFromString:deliveryDate]; 
// add this line 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"]; 
NSDate *createDate = [dateFormatter dateFromString:shipDate]; 

сказать мне, что случилось ...

-2
NSDate *deliveryETA = [dateFormatter dateFromString:deliveryDate]; 

для deliveryETA иметь значение входной строки MUST содержат этот формат yyyy-MM-dd'T'HH:mm:ssZZZZZ

+0

В формате требуется одиночная цитата. Любой произвольный символ, добавленный в Date, должен быть заключен в одиночную цитату. –

+1

Ваш ответ обратный. Так как строка не имеет часового пояса, формат не должен иметь спецификатор часового пояса. Вам нужно, чтобы формат соответствовал данным. – rmaddy

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