Eseguo un programma Java su un computer Windows. Sto cercando di ottenere un elenco di fusi orari e le relative informazioni correlate. Ecco il programma completo:Java non produce informazioni corrette sul fuso orario
String[] allTimeZones = TimeZone.getAvailableIDs();
Date now = new Date();
for (int i = 0; i < allTimeZones.length; i++) {
TimeZone tz = TimeZone.getTimeZone(allTimeZones[i]);
System.out.format("%s;%s; %f \n",
allTimeZones[i],
tz.getDisplayName(),
(float) (tz.getOffset(now.getTime())/3600000.0));
}
Uno di fuso orario generato ha le seguenti informazioni:
America/New_York; Eastern Standard Time; -4.000000
Questo è sconcertante. In questo momento, New York è nell'ora legale estiva orientale. Quindi le informazioni di cui sopra non sono corrette.
Qualcuno sa come posso fare Java per generare
America/New_York; Eastern Standard Time; -5,000000
o qualcosa di simile
America/New_York; Orientale estate ora legale; -4.000000
Grazie per l'aiuto!
saluti
http://www.timeanddate.com/worldclock/city.html?n=179 –
Stai chiedendo come ottenere tutti i fusi orari del mondo, o come per ottenere l'ora locale definita dal sistema operativo del computer su cui è in esecuzione il codice? –
Inoltre, controlla [JodaTime] (http://joda-time.sourceforge.net/) che è considerata una migliore libreria di data e ora nel complesso. –