正如标题所示,我不知道发生了什么。我系统的时区是CST。在Rails的application.rb
文件中,我将time_zone设置为CST(-6):
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
config.time_zone = 'Central Time (US & Canada)'
但请查看这一串命令......非常自我解释。第三行(Time.new
)显示为-5偏移(又称东部时间)?但是,调用utc_offset
表示它是-6偏移(中央,这是正确的)?如此迷茫。帮助
2.1.0 :001 > Time.now
=> 2014-12-10 12:10:32 -0600
2.1.0 :002 > Time.zone.now
=> Wed, 10 Dec 2014 12:10:37 CST -06:00
2.1.0 :003 > Time.new(2011, 3, 20)
=> 2011-03-20 00:00:00 -0500
2.1.0 :004 > Time.new(2011, 3, 20).utc_offset
=> -18000
答案 0 :(得分:1)
这可能会导致夏令时。如果你看看你正在使用的日期,你会看到另一个:
2.1.0 :003 > Time.new(2011, 3, 20)
是3月的第三周,DLS发生在3月的第二个星期日(http://www.webexhibits.org/daylightsaving/b.html)。