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

How to make event trigger at the same time on all devices regardless of timezone

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

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

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

TimeZone.getDefault()

.....然后将设备当前时间和feed时间转换为GMT。

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

通过 prettytime 使用 TimeToNow http://www.ocpsoft.org/prettytime/

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

总是将日期存储为 UTC 时间(时区单独存储)。然后所有的闹钟设备都可以方便的转换成自己的本地时间,在合适的时间发出闹钟。

无论哪个时区都应该在上午9点的闹钟然后不带时区存储。