我有一个问题,在保存日期时间属性时,表单返回-04:00而不是-05:00
使用Rails 3.2.3
在application.rb中:
config.time_zone = 'Eastern Time (US & Canada)'在mysql2适配器上使用MySQL
运行@wine.released_at.localtime返回2008-05-15 00:00:00.000000000 -04:00
运行@wine.released_at返回2008-05-15 04:00:00.000000000 Z
运行Time.now.zone返回Eastern Standard Time
运行@wine.released_at.zone返回EDT
我相当困惑。我认为设置config.time_zone应该使Rails自动将所有数据库日期时间值转换为设置的time_zone...why,这不是真的吗?
发布于 2013-01-21 04:45:29
在我看来,zone属性似乎返回了适用于指定时间的“区域间隔”的名称。因此,对于夏季,它将返回"EDT“,而对于冬季,它将返回"Easter Standard Time”。(奇怪的是,它用一个缩写来表示一个,而不是另一个,但是嘿……)
所以它对两者都使用相同的时区--这些只是同一时区内的不同方面:有时是标准时间,有时是夏令时。
如果您打印Time.now.localtime,它将显示-05:00,以表明当前与东部时间的偏移量为-5小时(即,东部时间当前比协调世界时晚5小时)。
发布于 2013-01-21 04:46:51
你试过使用in_time_zone吗?
https://stackoverflow.com/questions/14429055
复制相似问题