我试图了解当我安排闹钟时会发生什么,使用日历类计算的时间,当夏令时日期被击中?AlarmManager 是否正确处理小时更改?根据我的测试,我没有看到 Calendar 类添加任何夏令时。
示例:
今天是 3 月 9 日,我使用以下公式计算第二天 3 月 10 日凌晨 2 点夏令时开始的闹钟时间:
Calendar cal = Calendar.getInstance();
// set the time alarm should be triggered
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 30);
cal.set(Calendar.HOUR_OF_DAY, 10);
cal.add(Calendar.DAY_OF_WEEK, 1);
long triggerTimeMs = cal.getTimeInMillis();