Установить андроид будильник в UTC

Я использую API для извлечения выпусков фильмов для своего приложения для Android, а даты выпуска указаны в миллисекундах по Гринвичу. Когда я беру эту дату выпуска и устанавливаю ее на телефоне пользователя, она конвертируется в его часовой пояс и вызывается.

Пример:

Дата выхода фильма в миллисекундах:

1509667200000

К UTC времени и дате:

Пт 3 ноября 2017 00:00:00

По местному времени и дате: (Восточное время, мой часовой пояс)

Чт ноя 02 2017 20:00:00

Когда я установил будильник

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

1 ответ

Решение

Что я сделал и теперь работает отлично:

    // 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);
Другие вопросы по тегам