【发布时间】:2011-04-22 06:40:17
【问题描述】:
我们在 MYSQL DB 上运行基于 Ruby 1.9.2 的 Rails 3 服务器,但 time.now 和 time.zone.now 设置存在问题。
为了更好地解释,我们现在假设它是 13:00 UTC。
Ubuntu 系统时间设置为 15:00 UTC +02:00(那是 CEST(中欧夏令时),对于我们的时区来说是正确的)。
Rails 时间 (time.now) 设置为 13:00 +0200
- time.zone.now 设置为 CEST
- MYSQL 全局时间和会话时间都设置为 SYSTEM
现在我们在 MYSQL DB 中创建一个新条目(通过 activerecord),它有一个时间戳。
但是当我们查看 timestemp 时,它与当前服务器时间的 -2 小时偏移量(在我们的示例中为 11:00)
我们尝试将 time.zone 设置为一个非常不同的用于测试建议,它对新的 mysql 条目绝对没有影响。 另外我们尝试将mysql全局时间和会话时间设置为UTC,没有效果。
我们现在唯一可以想象的问题是time.now对mysql条目生效并且设置错误。这里的问题:我们无法设置 time.now 设置。但即使这可能以某种方式(是吗?),不知道这是否能解决问题。
有没有人遇到过这样的问题或任何想法可能导致它?
【问题讨论】:
标签: mysql ruby-on-rails ruby ruby-on-rails-3