Android 警报在我所在时区的8个小时内发出

Android 警报在我所在时区的8个小时内发出,android,timezone,alarmmanager,Android,Timezone,Alarmmanager,应用程序中的警报在我在Calendar.HOUR\u OF_DAY中设置的时间后8小时发出。我的时区是UTC+8。 你能不能帮我让闹钟准确地按我用时间选择器选择的时间发出,并让它灵活地适用于其他时区。 多谢各位 Ev_calendar.set(Calendar.HOUR_OF_DAY,xxx3); Ev_calendar.set(Calendar.MINUTE, xxx4); Ev_calendar.set(Calendar.SECOND, 0); long Evening_TimeIn

应用程序中的警报在我在Calendar.HOUR\u OF_DAY中设置的时间后8小时发出。我的时区是UTC+8。 你能不能帮我让闹钟准确地按我用时间选择器选择的时间发出,并让它灵活地适用于其他时区。 多谢各位

 Ev_calendar.set(Calendar.HOUR_OF_DAY,xxx3);
 Ev_calendar.set(Calendar.MINUTE, xxx4);
 Ev_calendar.set(Calendar.SECOND, 0);
 long Evening_TimeInMillis=Ev_calendar.getTimeInMillis();
    mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                  Evening_TimeInMillis,AlarmManager.INTERVAL_DAY,Evening_pi); 

您正在测试哪个操作系统版本的闹钟?将您从计时器获取的时间转换为UTC,然后根据转换后的时间设置闹钟。
Ev\u calendar.getTimezone().getID()
返回什么?如果升级到,将更容易并提供更自然的代码。
Calendar
类早已过时,设计拙劣,
java.time
非常适合使用。是的,你可以在Android上使用它。对于较旧的Android,请参见.Ev_calendar.getTimezone().getID()返回GMT