管理不同用户的时区



我有一个网站,我有很多来自不同国家的用户。用户可以根据自己的时区安排任务。现在服务器上每隔一分钟就运行一个cron, cron执行一个脚本,检查是否有任何用户的任何计划任务,如果有,则执行必要的操作。

由于我的服务器位于美国,因此由cron执行的脚本考虑美国的时区。我必须在脚本中做些什么,以便根据用户的时区而不是服务器的时区执行用户的任务?

提前感谢大家的意见

  1. 查找用户的时区

  2. 计算用户所在时区的当前时间

  3. 对于每个作业,查找它最后一次运行的时间,并计算下一次应该运行的时间。

  4. 对于任何下一次运行时间是现在或过去的作业,运行该作业并更新每个作业上次运行的记录。

几个月前我在iPhone上做过类似的事情。

我的解决方案是将时间捕获为字符串。因此,如果用户选择上午8点,我将只捕获08:00和他们的时区,例如欧洲/伦敦。

在我的服务器上,每隔5分钟左右,我就可以根据时区将这个08:00转换为当前的UTC时间。如果这个时间"存在",我就会检查用户的传输状态并发出警报。

为了帮助我设置时区,我使用了NodaTime。http://noda-time.blogspot.co.uk/

相关内容

  • 没有找到相关文章

最新更新