我有一个网站,我有很多来自不同国家的用户。用户可以根据时区安排任务。现在每隔一分钟就会在服务器上运行一个cron,cron会执行一个脚本来检查是否有任何用户的任何计划任务,如果有的话,它就是必需的。
由于我的服务器位于美国,因此cron执行的脚本会考虑美国的时区。我的脚本中需要做什么才能根据用户的时区而不是服务器的时区执行用户的任务?
提前感谢任何想法
答案 0 :(得分:0)
查找用户的时区。
计算用户时区的当前时间。
对于每个作业,查看上次运行的时间并计算下次应该运行的时间。
对于下一个运行时间现在或过去的任何作业,运行该作业并更新上次运行每个作业的记录。
答案 1 :(得分:0)
几个月前我在iPhone上做了类似的事情。
我的解决方案是将时间捕获为字符串。因此,如果用户选择了上午8点,我只会捕获08:00及其时区,例如欧洲/伦敦。
我的服务器每隔5分钟左右,我就可以根据时区将此08:00转换为当前的UTC时间。如果这个时间“存在”,我会检查用户的运输状态并发出警报。
为了帮助我使用TimeZones,我使用了NodaTime。 http://noda-time.blogspot.co.uk/