La data di per sé non ha alcun fuso orario. Il suo metodo di toString()
utilizza il fuso orario predefinito corrente per restituire una stringa che rappresenta questa data:
Date date = new Date();
System.out.println(TimeZone.getDefault());
System.out.println(date);
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
System.out.println(TimeZone.getDefault());
System.out.println(date);
L'esecuzione del codice di cui sopra sulla mia macchina porta alla seguente uscita: volte data
sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
Fri Jul 06 09:24:45 CEST 2012
sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
Fri Jul 06 07:24:45 UTC 2012
fonte
2012-07-06 07:33:45
può provare questo collegamento a http://stackoverflow.com/q/2891361/1465828 – Aprian
Grazie. Ma non risponde alla mia domanda – user1182253
Secondo altri linguaggi so che dovrebbe essere UTC perché almeno in Python e in Objective-C le date sono memorizzate con questo fuso orario predefinito. –