Java 如何在所有设备上同时触发事件,而不考虑时区

Java 如何在所有设备上同时触发事件,而不考虑时区,java,android,calendar,timezone,Java,Android,Calendar,Timezone,如果我的应用程序在美国东部时间晚上9点触发事件,它也应该在太平洋标准时间下午6点触发此事件 目前我正在分析一个提要,这个提要说事件将在东部时间9pm运行。在不改变提要的情况下,让我的代码对任何时区打开应用程序的人都通用的最佳方法是什么。您可以这样获得设备的当前时区: TimeZone.getDefault() ..然后将设备的当前时间和馈电时间转换为GMT 现在,您必须测试它们是否相等。通过使用prettytime来使用TimeToNow 它将为您提供4小时前或片刻前的结果,这将删除时区因素您

如果我的应用程序在美国东部时间晚上9点触发事件,它也应该在太平洋标准时间下午6点触发此事件


目前我正在分析一个提要,这个提要说事件将在东部时间
9
pm运行。在不改变提要的情况下,让我的代码对任何时区打开应用程序的人都通用的最佳方法是什么。

您可以这样获得设备的当前时区:

TimeZone.getDefault()
..然后将设备的当前时间和馈电时间转换为GMT


现在,您必须测试它们是否相等。

通过使用prettytime来使用TimeToNow

它将为您提供4小时前或片刻前的结果,这将删除时区因素

您始终将日期存储为UTC时间(时区单独存储)。然后,所有报警设备可以轻松地将其转换为自己的本地时间,并在适当的时间发出报警


无论在哪个时区,警报都应该在上午9点存储,而没有时区。

EST晚上9点是一个特定的时间点,无论您在哪个时区。对于在PST中打开应用程序的人,事件将发生在下午6点。请您详细解释一下,这里的问题到底是什么?根据经验,您应该在代码的任何地方都使用内部。只有在演示或接受用户输入时,才应转换为其他时区或从其他时区转换。