Tag: timezoneoffset

Ruby / Rails中的夏令时开始和结束日期

我正在开发一个Rails应用程序,我需要在给定特定偏移量或时区的情况下找到夏令时开始和结束日期。 我基本上在我的数据库中保存从用户的浏览器( “+3” , “-5” )收到的时区偏移量,我想在夏令时改变时修改它。 我知道Time实例变量有dst? 和isdst方法,如果存储在它们中的日期是夏令时,则返回true或false。 > Time.new.isdst => true 但是使用它来查找夏令时开始和结束日期会占用太多资源,而且我还必须为每个时区偏移执行此操作。 我想知道更好的方法。

为什么在delayed_job中关闭时区?

在我的Rails应用程序中,当我使用delayed_job gem创建后台作业时,我将所有时间偏移6小时。 我的理解是delayed_job使用你的时区 ,但它就像是使用了错误的时区 。 而不是距离UTC 6小时( CST是我的时区),这是-12小时! 这里有一些视图代码来说明。 注意: Time.now给出2014-03-04 23:26:55 -0600 Time.now.utc给出2014-03-05 05:26:55 UTC 但delayed_job几秒前的想法是2014-03-04 17:26:53 -0600 我的看法: #delayed_jobs/index.html.erb All Background Jobs The time now is: The time UTC is: ID Queue Created At Run At 输出: 我可以通过以下三种方式创建作业,并获得相同的created_at时间: MyClass.delay.foo MyClass.delay(run_at: 0.minutes.from_now).foo MyClass.delay(run_at: 0.minutes.from_now.getutc).foo 我的配置有: #config/application.rb config.time_zone = ‘Central Time (US & Canada)’ config.active_record.default_timezone […]