Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: OS X Entwicklerforum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Dienstag, 25. Januar 2011, 20:43

Merkwürdiges NSdateFormatter-Problem (SPOOKY!)

Hallo, ich stehe hier gerade auf dem Schlauch.
Meine Applikation bekommt ein paar Daten in der Geschmachsrichtung JSON. Mit dabei ist ein Zeitstempel der Form "yyyy-MM-dd hh:mm:ss".
Der JSON-Zeit-String wird also in ein NSDate verwandelt.

PHP-Quelltext

1
2
3
4
5
6
- (NSDate *)dateFromString:(NSString *)aString {
    NSDateFormatter *formatter = [[[NSDateFormatter alloc]init]autorelease];
    [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
    DLog(@"String '%@' -> Date '%@'"aString, [formatter dateFromString:aString]);
    return [formatter dateFromString:aString];
}


Wie kommt es nun zu dieser Ausgabe?
2011-01-25 20:32:59.829 FleetmonSat[27201:207] -[FMTracker dateFromString:] String '2010-11-27 10:17:31' -> Date '2010-11-27 09:17:31 +0000'
2011-01-25 20:32:59.831 FleetmonSat[27201:207] -[FMTracker dateFromString:] String '2011-01-25 19:16:36' -> Date '(null)'

Anders gefragt: Warum klappt das beim ersten Datumsstring, nicht aber beim zweiten????

Verwirrt,
Martin

Ummm, jetzt beim Schreiben fällt es mir wie Schuppen aus den Haaren!!! Ich DAU! Gut, ich lass die Frage trotzdem drin. Als Quiz oder Hilfe... :-)

2

Dienstag, 25. Januar 2011, 20:50

Ich find die Doku grad nicht, aber muss es eventuell HH heissen, für 24h Zeitformattierung? Würde erklären, warum er 19 nicht versteht, wenn es nur 12 Stunden gibt ;)

EDIT: http://unicode.org/reports/tr35/tr35-6.h…Format_Patterns gibt mir recht, es muss HH sein, wenn Du 24h Zeitformat erwartest ;)
C++

Social Bookmarks