日历#get(Calendar.HOUR_OF_DAY) 与 TimeUnits.MILLISECONDS.toHours()

Calendar#get(Calendar.HOUR_OF_DAY) vs TimeUnits.MILLISECONDS.toHours()

你们知道为什么会这样吗,为什么 Calendar returns 1 hours 而绝对不是 1,而是 0.008 在这个具体案例中:

millisUntilFinished = 30 * 1000

public void test(long millisUntilFinished) {
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(millisUntilFinished);
Timber.i("Hours: " + cal.get(Calendar.HOUR_OF_DAY));
Timber.i("Hours using TimeUnit: " + TimeUnit.MILLISECONDS.toHours(millisUntilFinished));
}

输出:

Hours: 01
Hours using TimeUnit: 00

时区。如果您的 CalendarUTC+1 中,这就是您将得到的结果。