Не могу конвертировать из NSString в NSDate - PullRequest
0 голосов
/ 13 февраля 2012

Я не могу преобразовать мою NSString в NSDate. вот код:

+ (NSDate *) stringToNSDate: (NSString *) dateString{
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];

NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateString: %@ datefromstring: %@", dateString, dateFromString);
return dateFromString;
}

//dateFromString is nil.

Что мне делать? Спасибо!

Кстати, dateString всегда будет содержать строковую дату в следующем формате: «2012/02/10 08:01:25 +0000»

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

На основании предоставленной вами информации проблема заключается в том, что ваш dateString разделяет компоненты даты косыми чертами (\), но ваш форматировщик даты ожидает тире (-).


Редактировать

Чтобы ответить на другой вопрос, вы можете использовать stringByReplacingOccurrencesOfString:withString:.

Например:

NSString *date1 = @"2012/12/10 ...";
NSString *date2 = [date1 stringByReplacingOccurrencesOfString:@"/" withString:@"-"];

Примечаниечто это заменит каждый / на -, так что будьте осторожны с часовыми поясами и т. д.

2 голосов
/ 13 февраля 2012

Попробуйте вместо этого:

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss ZZZ"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...