Установить андроид будильник в 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);