Time.now不正确 - 不遵守时区设置

时间:2012-12-20 19:30:11

标签: ruby-on-rails ruby postgresql activerecord alias

注意到Time.now正在返回错误的时间(比EST早5个小时),即使看起来配置设置为EST。

我能够获得正确EST的唯一方法是:

  #Ruby 1.8.7/Rails 2.2.2
  t = Time.now - (3660 * 5)
  est = t.strftime("%Y-%m-%d %H:%M:%S")

  ### environment.rb
  config.time_zone = 'Eastern Time (US & Canada)'
  config.active_record.default_timezone = 'Eastern Time (US & Canada)'


  #### login_controller.rb
    @new_login_attempt.last_login_date = Time.now.strftime("%Y-%m-%d %H:%M:%S")

    @new_login_attempt.save

1 个答案:

答案 0 :(得分:1)

使用Time.zone.now代替Time.now