• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

UTC Datums/Zeit-String umwandeln entsprechend der aktuellen Landeseinstellung

Nun weiß ich, dass du dir den Artikel nicht durchgelesen hast. ;)
Meiner Meinung nach wird nicht ohne Grund in Objective-C Convenience Allocator dazu gesagt und nicht Factory Method. Das ist nach meinem Verständnis nicht das Selbe. Factory Method passt wohl auf Class Cluster, aber Convenience Allocator gibt es ja nun nicht nur in Class Clustern.

MacApple
 
Ja im Prinzip ist das richtig, genau genommen ist alloc auch eine Factory. Factories sind genau genommen ein Überbegriff.
Aber man sagt ja zu jeder "Batterie" auch Batterie obwohl das auch nicht immer stimmt.

Für mich ist ne Factory ein Kasten wo hinten was verkaufsfertiges heraus kommt. ;)
 
Hey Leute, hab noch einen kleinen Zusatz ;)

Also bis gestern dachte ich das meine Datumsanzeige korrekt sei, dies war rein optisch auch der Fall, das Datum wurde entsprechen den aktuellen Länderkennung korrekt dargestellt. Jedoch mit dem kleinen aber feinen Unterschied das die dargestellte Uhrzeit immer dynamisch an die aktuelle TimeZone angepasst wurde. Da meine Anwendung jedoch lediglich die ausgelesene Zeit "unverändert" anzeigen soll, ist eine Modifikation des von Manfred a.k.a. kressevadder geposteten Code notwendig (Danke noch mal dafür :).

Code:
NSString * OCFormattedDate (NSDate *date, NSDateFormatterStyle dateStyle, NSDateFormatterStyle timeStyle)
{
	NSArray *preferedLocalizations = [[NSBundle mainBundle] preferredLocalizations];
	NSString *preferedLocalization = [preferedLocalizations objectAtIndex:0];
	NSLocale *currentLocale = [[NSLocale alloc] initWithLocaleIdentifier:preferedLocalization];
	NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
	[formatter setLocale: currentLocale];
	[currentLocale release];
	[formatter setDateStyle:dateStyle];
	[formatter setTimeStyle:timeStyle];
	NSString *result = [formatter stringFromDate:date];
	[formatter release];
	
	return result;
}

Ich habe zwischen hinter "[formatter setDateStyle:dateStyle];" noch folgenden Code

Code:
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

hinzugefügt. In meinem Fall benötigte ich UTC. Je nach Bedarf kann hier nun auch GMT oder was gerade benötigt wird eingetragen werden. Dies sorgt dafür, das in dem Programm bzw. für die Anzeige der Code entsprechend der gewählten TimeZone dargestellt wird und da in der Datenbank der Code als UTC String hinterlegt ist, wird er somit auch in der App unverändert dargestellt.

Viel Spass damit,

Gruss denio :)