Javascript 如何根据用户时区设置提醒并发送通知?

Javascript 如何根据用户时区设置提醒并发送通知?,javascript,php,mysql,cron,Javascript,Php,Mysql,Cron,我需要通知流程背后的逻辑。在我以前的项目中,我成功地实现了通知功能。但问题是它根据服务器时区发送通知 假设: 用户希望在其实际事件(任何事件)发生1小时之前收到通知 该用户在印度,根据印度时间发出通知。 通知时间下午三点 现在,问题启动服务器正在美国运行,如果匹配的通知将发送给用户,则服务器时间与通知时间匹配 但不是根据印度时区,而是根据在美国运行的服务器时区 它将采用美国的当前时区和数据库中的日期时间存储 每分钟设置一个cron作业。 实际结果 此通知根据用户时区发送,就像用户来自印度、美国、

我需要通知流程背后的逻辑。在我以前的项目中,我成功地实现了通知功能。但问题是它根据服务器时区发送通知

假设:

  • 用户希望在其实际事件(任何事件)发生1小时之前收到通知

  • 该用户在印度,根据印度时间发出通知。 通知时间下午三点

  • 现在,问题启动服务器正在美国运行,如果匹配的通知将发送给用户,则服务器时间与通知时间匹配

  • 但不是根据印度时区,而是根据在美国运行的服务器时区

  • 它将采用美国的当前时区和数据库中的日期时间存储

  • 每分钟设置一个cron作业。 实际结果

  • 此通知根据用户时区发送,就像用户来自印度、美国、加拿大和任何地方一样。但通知应根据用户时区发送

    有关更多说明,请使用谷歌日历事件通知流程。


    有人能帮我解决这个问题吗?

    将应用程序配置为使用UTC

    保存日期时间值时,始终将其保存为UTC时区,而不考虑用户的时区

    然后在网站中显示时,使用用户的时区从UTC转换

    对于通知,根据用户的时区为其提供datetime值,将其转换为UTC,然后将其存储到数据库中。这样,数据库中存储的所有日期时间值都始终是UTC


    然后在您的cronjob中,只需根据通知日期时间查找要发送的通知,这样此时您就不必担心用户的时区。

    忽略时区并始终使用UTC(向用户显示时除外),我同意这一点。使用UTC。