2

我试图了解当我安排闹钟时会发生什么,使用日历类计算的时间,当夏令时日期被击中?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();
4

1 回答 1

0

我认为问题实际上取决于您的手机设置。如果您的手机处理夏令时,那么您应该能够直接与手机时间进行比较而不必担心。

例如

夏令时之前:时间 T 的警报 A

夏令时后:将时间 T 与手机上的时间进行比较,该时间会自动更新。

于 2013-02-07T16:03:48.620 回答