iPhone-Display Datum eines Benutzergebietsschema, aber in einer anderen Sprache verwenden
-
26-09-2019 - |
Frage
Gibt es eine Lösung zur Anzeige für den Benutzer ein Datum seiner Locale-Einstellungen verwenden, aber die Wörter in einer anderen Sprache zu sein?
Was ich will, ist für einen Benutzer anzuzeigen, die eingerichtet hat en_US ein Datum in Deutsch Sprache (Monatsnamen, Wochentag zum Beispiel).
Lösung
Gute Frage. Es ist möglich, wenn Sie zuerst eine NSDateFormatter
mit dem Gebietsschema (default) des Benutzers erstellen, seinen Stil festgelegt, dann speichern Sie das aktuelle Datumsformat. Danach setzen Sie das Gebietsschema auf die Sprache, die Sie anzeigen möchten, und das Datumsformat zurück:
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateStyle:NSDateFormatterFullStyle];
NSString *usersDateFormat = [df dateFormat];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier(@"de_DE")] autorelease]];
[df setDateFormat:usersDateFormat];
NSString *dateString = [df stringFromDate:[NSDate date]];
Andere Tipps
Die iOS Klassenreferenz für NSDateFormatter hat Beispielcode für diese:
Es ist im Abschnitt Übersicht.
Grundsätzlich Sie manuell das Gebietsschema festgelegt, und die Formatierer formatieren das angegebene Datum mit dieser locale.