夏令时是如何处理的?我应该担心吗



我试图了解当我使用日历类计算的时间安排警报时,当夏令时日期到来时会发生什么?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();

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

例如

夏令时前:报警A在时间T

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

最新更新