Nomi dei fusi orari Java JVM tramite java.text.SimpleDateFormat
Domanda
Javadocs su java.text.SimpleDateFormat indica quanto segue in " z " lettera di modello:
z Fuso orario Fuso orario generale Ora solare Pacifico; PST; GMT-08: 00
Fuso orario generale: i fusi orari vengono interpretati come testo se hanno nomi. Per i fusi orari che rappresentano un valore di offset GMT, viene utilizzata la sintassi seguente ...
La domanda è - " se hanno nomi " ... da dove prende questi nomi? Ho visto in un ambiente JST emergere come "JST" e in un altro come "GMT + 9"
Soluzione
I nomi del fuso orario sono incorporati nella JVM. Provengono dal tz gestito da Arthur David Olson. Le disparità tra i nomi di fuso orario sono causate da JVM che utilizzano versioni diverse del database tz. Sun fornisce uno strumento di aggiornamento del fuso orario per i suoi JVM che è possibile utilizzare per aggiornare il nome del fuso orario definizioni. Ovviamente è sempre meglio usare l'ultimo aggiornamento JVM, ma questa non è sempre un'opzione.
Altri suggerimenti
Dovrebbe supportare i nomi visualizzati del fuso orario come definito da LDML
( Unicode Local Data Markup Language ).
Troverai tutti i nomi in Localizzazione fuso orario , in particolare in " alias "