Frage

Ich habe ein Problem mit NSDateFormatter und iOS. Ich habe hier tatsächlich eine Anerkennung und eine Erklärung des Problems gefunden:

http://www.cocoanetics.com/2011/12/ios-5-braten-nsdateformatter/

Mein Gehirn ist jedoch nicht in der Lage, diese Informationen zu verarbeiten, um diese alle für meine jeweilige Situation in eine Lösung zu übersetzen. Ich hoffe ihr seid mir hier draußen helfen:

Könnte mir jemand sagen, wie ich die folgende Arbeit in iOS5 machen kann? Früher funktionierte es gut:

NSLocale *myLocale = [[NSLocale alloc] initWithLocaleIdentifier:@”en_GB”];
[inputFormatter setLocale: myLocale];
[myLocale release];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
NSDate *formattedDate = [inputFormatter dateFromString: feedDateString];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"EEEE d MMMM"];

Die Eingangszeichenfolge, die über meine Steuerung hinausgeht, wäre so etwas wie „Di, 03. Januar 2012 00:00:00 +0100“, wenn ich [outputFormatter StringFromDate: formattedDate] log

Das ursprüngliche Gebietsschema war „en_us“, aber ich habe das in der Hoffnung geändert, dass dies helfen würde.

Es würde auch den Menschen in diesem Beitrag helfen, das scheint ein Sackgassen zu sein:

NsdateFormatter auf iOS 5 - eine andere Möglichkeit zu verwenden?

War es hilfreich?

Lösung 2

Für Sie alle, die die Zeit damit verbracht haben, war alles meine dumme eigene Schuld: Die Eingangszeichenfolge, die formatiert werden musste 13. Februar 2012 00:00:00 +0100 "Sie sehen? Nun, ich habe während des NSLoggings nicht die nachfolgenden weißen Räume gesehen. [Ironie: Die vielen Räume und Rückkehr nach der Saite werden auch hier nicht angezeigt!

Und irgendwie hat sich iOS 4 egal. iOS5 ist einfach viel wählerischer und wahrscheinlich zu Recht. Also habe ich das Ding wie folgt gelöst:

NSString *trimmedString = [inputstring stringByTrimmingCharactersInSet:
                               [NSCharacterSet whitespaceAndNewlineCharacterSet]];

Ich hoffe, dass dies auch Ihnen hilfreich sein kann.

Andere Tipps

Versuche dies:

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
        
NSString *str = [outputFormatter stringFromDate:[NSDate date]];
/* 
   Do something with this string
*/
[outputFormatter release];

Sie können auch Region hinzufügen, indem Sie hinzufügen Setlocale Parameter zu nsdateFormatter.

NSLocale *myLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[outputFormatter setLocale: myLocale];
        
NSString *str = [outputFormatter stringFromDate:[NSDate date]];

/* 
   Do something with this string
*/

[outputFormatter release];
[myLocale release];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top