/ / NSDateFormatter, NSDate, UTC и странен формат на датата - iphone, какао, cocoa-touch

NSDateFormatter, NSDate, UTC и странен формат на датата - iphone, какао, какао-докосване

Имам много странен формат на датата, който идва при мен чрез JSON. например - "18 юли 2010 г. 02:22:09"

Тези дати са винаги UTC. Аз разбирам датата с NSDateFormatter и задаване на часовата зона на UTC ...

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[inputFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:dtStr];

Датата, когато се регистрира, се показва с отместването на устройството ми ...

"2010-07-18 02:22:09 -0600"

Какво правим тук?

Отговори:

2 за отговор № 1

Мисля, че това е така, защото NSDate не използва UTC часовата зона. Документите казват това за метода на описание на NSDate:

Низово представяне на приемника в. \ Tмеждународен формат YYYY-MM-DD HH: MM: SS ± HHMM, където ± HHMM представлява отместването на часовата зона в часове и минути от GMT (например „2001-03-24 10:45:32 +0600“).

Така че, ти наистина не правиш нищо лошо. NSDate се държи както се очаква. Какво се опитваш да постигнеш? Имаш ли нужда от дата в низ?