2013-03-04 30 views
5

Tôi đang cố chuyển đổi thời gian của mình thành phút: HH: MM. Ví dụ: 418 phút = 6:58. Tôi đang sử dụng mã sau đây:Java: calendar.setTimeInMillis() trả về sai giá trị 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); 

Tôi nhận 7:58 khi biến PriemCas = 418 thay vì 6:58. Điều gì có thể sai ở đây? Cảm ơn nhiều.

+0

Daylight Saving Time? Múi giờ của bạn được đặt là gì? –

+1

Cho rằng sự khác biệt là chính xác 1 giờ, tôi muốn kiểm tra xem một cái gì đó hài hước đang xảy ra với các thiết lập múi giờ/DST ... – ppeterka

Trả lời

14

Tạo Lịch của bạn với múi giờ chính xác:

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

Cảm ơn bạn ... SOLVED –

+1

Bạn nên đánh dấu nó là giải quyết bằng cách chấp nhận câu trả lời này. Bằng cách này, những người khác đọc câu hỏi của bạn sẽ biết họ sẽ tìm thấy câu trả lời đúng ở đây. – kamituel

Các vấn đề liên quan