ruby-on-rails - Incorrect Time.now - 不遵守时区设置

标签 ruby-on-rails ruby postgresql activerecord alias

注意到 Time.now 返回的时间不正确(比美国东部时间提前 5 小时),即使配置似乎已设置为美国东部时间。

我能够获得正确 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

最佳答案

使用 Time.zone.now 而不是 Time.now

关于ruby-on-rails - Incorrect Time.now - 不遵守时区设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979164/

相关文章:

ruby-on-rails - 设计两种不同型号的单独 checkout

ruby-on-rails - gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败

postgresql - 哪个更有效,在分区上选择 array_agg,还是选择数组(子查询)?

postgresql - 我的 PostgreSQL 语句有什么问题?这在 MySql 上运行

ruby-on-rails - 如何从Rspec开始?

ruby-on-rails - 我如何总结多对多的值(value)?

ruby - ruby 中实例和类方法的生命周期回调

ruby-on-rails - 将 Ruby 哈希转换为 JSON(无转义字符)

sql - 基于 has_many 模型列的结果计数的 Rails 查询

ruby-on-rails - capybara Selenium 和 JavaScript 销毁