【发布时间】:2014-05-01 18:06:08
【问题描述】:
Rails 3.2.17、Ruby 2.0.0 出现在 Heroku 和我的 OSX 10.9.2 上。
计算完后,它会将时区设置为本地时区。
date = Time.new Time.zone.now.year, 7, 1, 0, 0, 0, '+05:00'
#=> 2014-07-01 00:00:00 +05:00
date - 1.year
#=> 2013-07-01 00:00:00 -0700
# ^ Booo, timezone is now local to host machine
所以我在时区创建时间,一切都很好。我试图得到完全相同的时间,一年前突然我在我当地的时区。这似乎不对。
如何在TimeWithZone 实例上进行数学运算而不丢失时区?
这可能与服务器的本地时间有关
【问题讨论】:
-
哪个 Ruby 版本、Rails 版本和 OS 版本?此外,您是否在 Rails 应用程序/其他地方使用 Rails 或初始化程序以外的任何 gem 可能正在修补 Time 等?
-
Rails 3.2.17,Ruby 2.0.0,在 Heroku 和我的 OSX 10.9.2 上都出现
-
哦,废话,我收回了……这仅发生在 Heroku 上,不会发生在我的 mac 上。什么鬼……
-
实际上我收回了那个收回......它将时区设置为主机本地的区域,而不考虑原始时区。
-
更新(替换)我下面的答案,现在我理解得更好了。
标签: ruby-on-rails ruby time timezone