Nsdate из строкового формата не работает - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь преобразовать строковую дату в NSDate, чтобы внести некоторые изменения в формат ... но она всегда возвращает ноль!

Это мой код:

NSDateFormatter *df = [[NSDateFormatter alloc] init];

//Mon Jan 30 17:40:12 +0000 2012
[df setDateFormat:@"ccc MMM dd HH:mm:ss Z yyyy"];
[df setTimeStyle:NSDateFormatterFullStyle];
[df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];

NSDate *date1 = [df dateFromString:strData];

Я тоже пробовал этот формат:

[df setDateFormat:@"EEE MMM dd HH:mm:ss z yyyy"];

Я пробовал эту таблицу:

http://www.deanoj.co.uk/ios-development/nsdateformatter-formatting-strings-reference/

Я пробовал эти ссылки .. и много других:

Конвертировать NSString в NSDate со строковым форматом "Sun, 08.01.2012 13:57:38 +0000"

NSDateFormatter dateFromString возвращает ноль

Как форматировать даты в Facebook / Twitter (из канала JSON) в Objective-C

Может кто-нибудь помочь мне, пожалуйста?

Заранее спасибо!

1 Ответ

2 голосов
/ 30 января 2012

Если я беру ваш код и изменяю его так:

[df setDateFormat:@"ccc MMM dd HH:mm:ss Z yyyy"];
// [df setTimeStyle:NSDateFormatterFullStyle];
// [df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];

NSDate *date1 = [df dateFromString:@"Mon Jan 30 17:40:12 +0000 2012"];
NSLog( @"date is %@", date1);

Я получаю:

2012-01-30 11:36:38.339 TestApp[32182:f803] date is 2012-01-30 17:40:12 +0000

Похоже, все, что вам нужно сделать, это прокомментировать (или удалить) эти две строки.

...