проблема преобразования iphone NSDate - PullRequest
4 голосов
/ 20 мая 2011

В моем графике Api для Facebook ..

Я получаю эти данные .. от Json ..
"updated_time" = "2011-05-17T14:52:16+0000";

, и я использую этот код для преобразования вдопустимый формат даты

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
//2010-12-01T21:35:43+0000  
[df setDateFormat:@"yyyy-mm-ddHH:mm:ssZZZZ"];
NSDate *date = [df dateFromString:[[forTable valueForKey:@"updated_time"] stringByReplacingOccurrencesOfString:@"T" withString:@""]];
[df setDateFormat:@"eee MMM dd, yyyy hh:mm"];
pastDate = [df stringFromDate:date];
NSLog(@"and the date string is %@",pastDate);

, и он дает мне этот результат в консоли

and the date string is Mon 01 17, 2011 08:22

, хотя значение json дает мне дату мая. этот коддает мне дату январь

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

Ответы [ 2 ]

11 голосов
/ 20 мая 2011

Похоже, что ваша строка формата даты не учитывает букву "Т" - и вы, вероятно, должны заключать буквальный текст между апострофами, просто чтобы быть в безопасности.Попробуйте:

[df setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZZ"];

1 голос
/ 20 мая 2011

DateFormat был неправильным, он должен быть с заглавной Ms за месяц:

[df setDateFormat:@"yyyy-MM-ddTHH:mm:ssZZZZ"];
...