Próbuję przekonwertować datę lokalną na UTC, używając Joda Time. Kod, którego użyłem, jest pokazany poniżej i działa świetnie.JodaTime: Konwertuj lokalnie na UTC niejednoznaczność
Date localDate = new Date();
System.out.println("Local Date : " + localDate);
DateTimeZone tz = DateTimeZone.getDefault();
Date utcDate = new Date(tz.convertLocalToUTC(localDate.getTime(), false));
System.out.println("UTC Date : " + utcDate);
Output :
Local Date : Wed May 29 11:54:46 EEST 2013
UTC Date : Wed May 29 08:54:46 EEST 2013
Ale jeśli wyślę UTC Data jako parametr do metody DateTimeZone.convertLocalToUTC(), ale również zmniejsza godzinę przez 3. Jednakże, ponieważ jest UTC Data, spodziewam się, że nie będzie datę ponownie przeliczyć. Czy to błąd, czy też coś mi brakuje?
Date localDate = new Date();
System.out.println("Local Date : " + localDate);
DateTimeZone tz = DateTimeZone.getDefault();
Date utcDate = new Date(tz.convertLocalToUTC(localDate.getTime(), false));
System.out.println("UTC Date : " + utcDate);
Date utcDate2 = new Date(tz.convertLocalToUTC(utcDate.getTime(), false));
System.out.println("UTC Date 2 : " + utcDate2);
Output :
Local Date : Wed May 29 11:54:46 EEST 2013
UTC Date : Wed May 29 08:54:46 EEST 2013
UTC Date 2 : Wed May 29 05:54:46 EEST 2013