dateFromString возвращает ноль - PullRequest
5 голосов
/ 07 июня 2011

Это мой NSString ,

myDate : 2011-06-07 11:23:47  0000

А это код,

NSTimeZone *currentDateTimeZone = [NSTimeZone defaultTimeZone];
NSDateFormatter *currentDateFormat = [[NSDateFormatter alloc]init];
[currentDateFormat setTimeZone:currentDateTimeZone];
[currentDateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *tempDate = [currentDateFormat dateFromString:second];

Все еще tempDate получает значение nil.
Кто-нибудь может помочь?

Ответы [ 4 ]

3 голосов
/ 07 июня 2011

Как вы получили строку с датой?Это должно быть 2011-06-07 11:23:47 +0000, чтобы это работало.

2 голосов
/ 17 августа 2011

Попробуй это, Это функция для получения даты из строки.

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setDateFormat:@"EEE, dd MMM yy HH:mm:ss"];
NSDate *convertedDate = [df dateFromString:stringDate];
[df release];
// [convertedDate description]
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setAMSymbol:@"AM"];
[formatter setPMSymbol:@"PM"];
[formatter setDateFormat:@"MM/dd/yyyy hh:mm:a"];
return [formatter stringFromDate:convertedDate];
1 голос
/ 17 июля 2013

То, что я думаю, это не связано с TimeZone, но настройки устройства 24 часа.Разработчик должен проверить, имеют ли время устройства 24 часа, тогда они должны использовать ЧЧ, а если время устройства 12 часов, то они должны использовать чч.

0 голосов
/ 07 июня 2011
NSTimeZone *currentDateTimeZone = [NSTimeZone defaultTimeZone];
NSDateFormatter *currentDateFormat = [[[NSDateFormatter alloc]init] *autorelease*];
[currentDateFormat setTimeZone:currentDateTimeZone];
[currentDateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss *ZZZZ*"];
NSDate *tempDate = [currentDateFormat dateFromString:second];

Добавить авто-релиз и ZZZZ Zad *. 1010 *

...