首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails localtime返回错误的时区

Rails localtime返回错误的时区
EN

Stack Overflow用户
提问于 2013-01-21 04:40:52
回答 2查看 575关注 0票数 0

我有一个问题,在保存日期时间属性时,表单返回-04:00而不是-05:00

使用Rails 3.2.3

在application.rb中:

代码语言:javascript
复制
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,这不是真的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-21 04:45:29

在我看来,zone属性似乎返回了适用于指定时间的“区域间隔”的名称。因此,对于夏季,它将返回"EDT“,而对于冬季,它将返回"Easter Standard Time”。(奇怪的是,它用一个缩写来表示一个,而不是另一个,但是嘿……)

所以它对两者都使用相同的时区--这些只是同一时区内的不同方面:有时是标准时间,有时是夏令时。

如果您打印Time.now.localtime,它将显示-05:00,以表明当前与东部时间的偏移量为-5小时(即,东部时间当前比协调世界时晚5小时)。

票数 0
EN

Stack Overflow用户

发布于 2013-01-21 04:46:51

你试过使用in_time_zone吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14429055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档