Time

  • 在 application.rb 里设置相应的时区。
config.time_zone = 'Eastern European Time'
## 可选配置——注意取值只能是 :utc 或 :local 中的一个(默认为 :utc)
config.active_record.default_timezone = :local
  • 不要使用 Time.parse。
## 差
Time.parse('2015-03-02 19:05:37') # => 会假设时间是基于操作系统的时区。

## 好
Time.zone.parse('2015-03-02 19:05:37') # => Mon, 02 Mar 2015 19:05:37 EET +02:00
  • 不要使用 Time.now。
## 差
Time.now # => 无视所配置的时区,返回操作系统时间。

## 好
Time.zone.now # => Fri, 12 Mar 2014 22:04:47 EET +02:00
Time.current # 结果同上,但更简洁