你们知道为什么会发生这种情况吗?为什么Calendar返回1 for 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发布于 2015-03-05 12:36:56
时区。如果您的Calendar位于UTC+1中,那么您将得到这样的结果。
https://stackoverflow.com/questions/28878000
复制相似问题