我有一个应用程序与以下基本工作流程:
- 用户有配置文件,他们可以设置他们的当地时区(+2:00等)。
- 用户动作被添加到作业队列(mongo collection)
首先,我需要在GMT时间-/+用户时区偏移中保存项目到队列。
做这件事的最好方法是什么?
我现在有:
DateTime.parse("26 October 2011 14:45") + Rational(user.timezone.to_f, 24)
我怀疑上面的代码并不完全可靠。
还有一个每小时运行一次的cron作业,并处理这些作业——我需要查询队列中需要在这个确切的小时(分钟不重要)处理的项目
通过用户的时区解析"scoping":
>> ActiveSupport::TimeZone.new('Madrid').parse("26 October 2011 14:45")
=> Wed, 26 Oct 2011 14:45:00 CEST +02:00