Zeigt den Namen der Kurzzeitzone mit DateTimeFormatter an

9

Ich habe die folgende DateTimeFormatter .

%Vor%

Ich benutze es um ein ZonedDateTime wie folgt zu formatieren:

%Vor%

Ich möchte, dass eine formatierte Datumszeichenfolge wie folgt ausgegeben wird:

16.09.2015 um 01:15:45 Uhr EDT

Was aber ausgegeben wird, ist dies:

16.09.2015 um 01:15:45 Uhr UTC-05: 00

Egal, ob ich z , zz , zzz oder zzzz im Muster verwende, es wird immer im obigen Format ausgegeben.

Gibt es eine andere Möglichkeit, das ZonedDateTime zu erstellen, das mir die gewünschte Ausgabe gibt, oder mache ich etwas falsch im Muster?

Wie in der DateTimeFormatter Dokumentation , O sollte verwendet werden, um den lokalisierten Zonen-Offset anzuzeigen, z. B. UTC-05:00 , während z verwendet werden soll, um den Namen der Zeitzone anzuzeigen, z. B. Eastern Daylight Time oder EDT .

    
Andrew Mairose 26.08.2015, 18:22
quelle

1 Antwort

6

Dies liegt daran, dass Sie einen anonymen UTC-Offset verwenden. Versuchen Sie es stattdessen mit dem Namen ZoneId

%Vor%

druckt (" Ora dell'Africa orientale " ist ein lokalisierter italienischer Name)

%Vor%

Sie können eine Liste der verfügbaren Namen abrufen, die zum Speichern und Abrufen der Einstellungen vom Benutzer mit

verwendet werden sollen %Vor%     
Raffaele 26.08.2015, 18:35
quelle

Tags und Links