Это мой 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. Кто-нибудь может помочь?
nil
Как вы получили строку с датой?Это должно быть 2011-06-07 11:23:47 +0000, чтобы это работало.
2011-06-07 11:23:47 +0000
Попробуй это, Это функция для получения даты из строки.
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];
То, что я думаю, это не связано с TimeZone, но настройки устройства 24 часа.Разработчик должен проверить, имеют ли время устройства 24 часа, тогда они должны использовать ЧЧ, а если время устройства 12 часов, то они должны использовать чч.
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 *