| 

.NET C# Java Javascript Exception

2
Servus!

Ich hab ein kleines Problem mit meinem DateFormatter.
Er liefert nicht das Date Objekt zurück, das er eigentlich liefern sollte, sondern nil.
Ich gehe wie folgt vor:
NSString *s_rssDate = @"Di, 07 Feb 2012 13:02:00 +0100";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ccc, dd MMM yyyy HH:mm:ss ZZZ"];
NSDate *rssDate = [dateFormatter dateFromString:s_rssDate];


Sollte eigentlich funktionieren.
Tuts aber leider nicht.
Hab auch extra das Schema nochmal überprüft.
Ich versteh ehrlich gesagt nicht, wieso das nicht hinhaut. Vielleicht habe ich aber auch nur grade Tomaten auf den Augen und was ganz triviales übersehen.

So, Hier jetzt nochmal die Lösung, für alle die über das selbe Problem stolpern.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ccc, dd MMM yyyy HH:mm:ss ZZZ"];
NSLocale *deLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"];
[dateFormatter setLocale:deLocale];


Das locale muss dementsprechend gewählt werden, in welcher Landessprache der zu formatierende Datumsstring ist.
News:
07.02.2012
Maverick1st 332 1 7
1 Antwort
1
Könnte an der Spracheinstellung des Geräts / Simulators liegen. Schau mal hier.
07.02.2012
puls200 3,8k 7
Warum findest du immer die Antworten bei SO, und ich nicht. :)
Das mit dem locale kann gut sein. Ich werds gleich mal testen.
Maverick1st 07.02.2012
Du weisst doch, richtig suchen können ist einer der elementaren iOS Skills ;-)
puls200 07.02.2012
Hat leider nichts gebracht. ich ergänze mal den Post oben.
Maverick1st 07.02.2012
Kommando zurück. Hatte das falsche Locale angegeben. Antwort ist doch richtig und der Kandidat bekommt ne haken und ein Upvote für schnelles und kompetentes Antworte. (Wie üblich halt :))
Maverick1st 07.02.2012
Öhm, du musst die Locale setzen *bevor* du den formatierten String einliest.
puls200 07.02.2012
Ah, Kommentare haben sich überschnitten. Danke dir :)
puls200 07.02.2012

Stelle deine Iphone-Frage jetzt!