日历#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
时区。如果您的 Calendar
在 UTC+1
中,这就是您将得到的结果。
你们知道为什么会这样吗,为什么 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
时区。如果您的 Calendar
在 UTC+1
中,这就是您将得到的结果。