Ho un problema strano con un Java Calendario Gregoriano:Java GregorianCalendar Fuso orario
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:S Z");
sdf.setTimeZone(TimeZone.getTimeZone("US/Pacific"));
GregorianCalendar cal1 = new GregorianCalendar(TimeZone.getTimeZone("US/Pacific"));
cal1.setTimeInMillis(1320566400000L);
GregorianCalendar cal2 = new GregorianCalendar(TimeZone.getTimeZone("US/Pacific"));
cal2.setTimeInMillis(1320570000000L);
System.out.println(sdf.format(cal1.getTime()));
System.out.println(sdf.format(cal2.getTime()));
ho eseguito un dato codice di cui sopra su una macchina con valore predefinito fuso orario = US Pacifico, ma la macchina è in funzione in Germania.
Il risultato è il seguente:
2011-11-06 01:00:00:0 -0700
2011-11-06 01:00:00:0 -0800
Io davvero non capisco, perché v'è un fuso orario diverso nel risultato ... Ho anche provato il codice su un'altra macchina (default Timezone = GMT) e funziona correttamente.
Qualcuno ha un'idea, perché si verifica questo problema?
migliore, Michael
Quale versione di Java hai usato? ;-) A volte ci sono bug in una versione e non negli altri. – reporter
Io uso Java 1.6. – Michael