2013-03-04 15 views
5

Próbuję przekonwertować mój czas w minutach na GG: MM. Na przykład 418 minut = 6:58. Używam następującego kodu:Java: calendar.setTimeInMillis() zwraca nieprawidłową wartość HOUR_OF_DAY

long milli = PriemCas*60000; 
Calendar calendar1 = Calendar.getInstance();  
calendar1.setTimeInMillis(milli); 
int hours3 = calendar1.get(Calendar.HOUR_OF_DAY); 
int minutes3 = calendar1.get(Calendar.MINUTE); 

System.out.println(hours3+":"+minutes3); 

Otrzymuję 7:58, gdy moja zmienna PriemCas = 418 zamiast 6:58. Cóż tu może być nie tak? Dziękuję Ci bardzo.

+0

czas letni? Jaka jest twoja strefa czasowa? –

+1

Biorąc pod uwagę, że różnica wynosi dokładnie 1 godzinę, powinienem sprawdzić, czy coś zabawnego dzieje się z ustawieniami stref czasowych/czasu letniego ... – ppeterka

Odpowiedz

14

Stwórz swój kalendarz z odpowiednią strefę czasową:

Calendar calendar1 = Calendar.getInstance(TimeZone.getTimeZone("UTC")); 
+0

Dziękuję ... ROZWIĄZYWANIE –

+1

Należy oznaczyć je jako rozwiązane, akceptując tę ​​odpowiedź. W ten sposób inni ludzie czytający twoje pytanie będą wiedzieć, że znajdą tu właściwą odpowiedź. – kamituel

Powiązane problemy