【问题标题】:How is daylight savings time handled? Should I worry about it?夏令时如何处理?我应该担心吗?
【发布时间】:2013-01-23 04:01:19
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:

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

    例如

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

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

    【讨论】:

    • 是的,我的设备确实使用夏令时。问题或多或少是操作系统如何处理时间变化?两件事情; 1. 当时间发生变化时,操作系统是否会更新预定的警报? 2. Calendar 会自动处理时间变化吗?从我的测试看来它没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 2013-03-20
    • 2019-07-13
    相关资源
    最近更新 更多