在 UTC 中设置 android 闹钟

Set android alarm in UTC

我正在使用 API 为我的 Android 应用获取电影发布,发布日期以毫秒 UTC 为单位。当我获取该发布日期并将其设置在用户的 phone 时,它会在他的时区进行转换并调用。

示例:

电影的发行日期(以毫秒为单位):

1509667200000

UTC 时间和日期:

Fri Nov 03 2017 00:00:00

当地时间和日期:(东部时间,我的时区)

Thu Nov 02 2017 20:00:00

当我设置闹钟时

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(releaseDate);
    Date date = calendar.getTime();
    alarmManager.set(AlarmManager.RTC_WAKEUP, date.getTime(), alarmIntent);

我所做的现在完美运行:

    // Calendar
    TimeZone timeZone = TimeZone.getTimeZone("UTC");
    Calendar calendar = Calendar.getInstance(timeZone);
    calendar.setTimeInMillis(releaseDate);
    Date date = calendar.getTime();
    alarmManager.set(AlarmManager.RTC_WAKEUP, date.getTime(), alarmIntent);