Я инициализирую свой NSDateFormatter таким образом:
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss z"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *date = [NSDate date];
NSString *dateString = [dateFormatter stringFromDate:date];
dateString
сейчас:
Thu, 29 Jul 2010 14:58:42 GMT+00:00
Я хочу избавиться от "+00: 00"
Я предполагаю из http://unicode.org/reports/tr35/tr35-6.html#Time_Zone_Fallback, что у меня может быть проблема с локализацией. Сейчас я работаю над этим, удалив вручную «+00: 00», но это не идеально.
EDIT
Я попробовал несколько новых способов создания NSTimeZone, но оба они производят один и тот же dateString
:
[NSTimeZone timeZoneWithName:@"GMT"];
[NSTimeZone timeZoneWithName:@"UTC"];
[NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[NSTimeZone timeZoneWithAbbreviation:@"UTC"];