ich meine NSDateFormatter Initialisierung so:konvertieren NSDate zu NSString mit NSDateFormatter mit Time-Zone ohne GMT Zeit Modifier
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
ist jetzt:
Thu, 29 Jul 2010 14:58:42 GMT+00:00
Ich möchte die „loswerden + 00:00 "
Ich vermute von http://unicode.org/reports/tr35/tr35-6.html#Time_Zone_Fallback, dass ich ein Lokalisierungsproblem haben könnte. Ich arbeite gerade daran, indem ich die "+00: 00" manuell entferne, aber das ist nicht ideal.
EDIT
habe ich versucht, ein paar neue Möglichkeiten, um die NSTimeZone zu schaffen, aber sie beide produzieren die gleiche dateString
:
[NSTimeZone timeZoneWithName:@"GMT"];
[NSTimeZone timeZoneWithName:@"UTC"];
[NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[NSTimeZone timeZoneWithAbbreviation:@"UTC"];
+1 für die interessante Frage. Ich kann es selbst nicht herausfinden. BTW, möchten Sie vielleicht über einen möglichen Speicherverlust mit dem 'Z' Spezifizierer wissen: http://thegothicparty.com/dev/article/nsdateformatter-memory-leak/ –
+1 für die Verwendung von "soly" –