Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ruby中为每个用户调整时区';s保存的项目_Ruby_Localization_Timezone - Fatal编程技术网

如何在Ruby中为每个用户调整时区';s保存的项目

如何在Ruby中为每个用户调整时区';s保存的项目,ruby,localization,timezone,Ruby,Localization,Timezone,我有一个具有以下基本工作流的应用程序: 用户可以通过配置文件设置本地时区(+2:00等) 将用户操作添加到作业队列(mongo集合) 首先,我需要在GMT时间-/+用户时区偏移量中将项目保存到队列中 这样做的最佳方式是什么 我目前有: DateTime.parse("26 October 2011 14:45") + Rational(user.timezone.to_f, 24) 我怀疑上面的代码并不完全可靠 还有一个每小时运行并处理作业的cron作业-我需要查询队列中需要在这一小时处理

我有一个具有以下基本工作流的应用程序:

  • 用户可以通过配置文件设置本地时区(+2:00等)
  • 将用户操作添加到作业队列(mongo集合)
首先,我需要在GMT时间-/+用户时区偏移量中将项目保存到队列中

这样做的最佳方式是什么

我目前有:

DateTime.parse("26 October 2011 14:45") + Rational(user.timezone.to_f, 24)
我怀疑上面的代码并不完全可靠

还有一个每小时运行并处理作业的cron作业-我需要查询队列中需要在这一小时处理的项目(分钟不重要)

只需解析用户时区中的“作用域”:

>> ActiveSupport::TimeZone.new('Madrid').parse("26 October 2011 14:45")
=> Wed, 26 Oct 2011 14:45:00 CEST +02:00

@肖恩:请分享解决方案。