22.09.2012

Konvertierung von einem Datum

Im folgenden wird erklärt, wie man mit einfachen Mitteln ein Datum mit Objective-C umwandelt, d.h. die Formatierung einer Zeit und eines Datum ändert. Verwendet wird dazu ein NSDate und ein NSDateFormatter.

Ausgangspunkt ist ein NSString mit folgendem Wert: 2012:09:12 12:44:48. Ziel ist es die Zeitangabe so umzuformatieren, dass 12.09.2012 - 12:44:48 angezeigt wird.

Der folgende Code-Schnipsel führt die Umformatierung durch:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy:MM:dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2012:09:12 12:44:48"];
[dateFormatter setDateFormat:@"dd.MM.yyyy - HH:mm:ss"];
NSString *formattedDate = [dateFormatter stringFromDate:date];

Als erstes wird ein NSDateFormatter erstellt und als dateFormat das Muster yyyy:MM:dd HH:mm:ss angegeben. Das ist das Eingabeformat. Anschließend wird ein Objekt vom Typ NSDate mit dem NSDateFormatter erstellt. Danach wird das dateFormat auf das Muster dd.MM.yyyy - HH:mm:ss geändert. Abschließend muss mit dem DateFormatter nur noch der NSString von date abgefragt werden, so dass die Variable formattedDate das neu formatierte Datum 12.09.2012 - 12:44:48 enthält.

Weitere Informationen zu NSDate und NSDateFormatter findet man im Data Formatting Guide