加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么Rails总是以正确的时间显示日期时间为1/

发布时间:2020-12-17 03:43:44 所属栏目:百科 来源:网络整理
导读:这个让我疯了!数据正确存储到db(sqlite3)中.但是,当我从记录中显示日期时,Rails似乎强制它到1/1/2000 – 使用正确的时间.换句话说,如果我将此指定为日期时间:2009年12月31日下午6:00,sqllite3实际上将显示2009-12-31 18:00:00.但…. Rails将显示该值已于20
这个让我疯了!数据正确存储到db(sqlite3)中.但是,当我从记录中显示日期时,Rails似乎强制它到1/1/2000 – 使用正确的时间.换句话说,如果我将此指定为日期时间:2009年12月31日下午6:00,sqllite3实际上将显示2009-12-31 18:00:00.但…. Rails将显示该值已于2000年1月1日06:00 PM(保持正确的时间).

我创建了虚拟属性来处理日期格式(看起来工作正常).而且,我已将时区设置为:

config.time_zone = 'Eastern Time (US & Canada)'

我不得不相信这很简单……这让我疯狂!

谢谢!

约翰

解决方法

我有同样的问题,使用postgres,并感谢user145110建议使用DateTime类而不是Time.这对我有用.我只想补充一点,虽然我必须更改我的迁移以使用DateTime,但我仍然可以在测试中使用Time及其方法,与DateTime值进行比较.换句话说,通过这个原始迁移:

t.time :start_time

…和使用时间的样本分配:

start_time = Time.now.beginning_of_day

…它保存好了,但是稍后阅读时,年份改为2000年.也许这是一个旧的Y2K错误.大声笑.相反,我只是改变了迁移:

t.datetime  :start_time

..我的所有代码都有效.即使像这样的作业:

start_time = Time.zone.now.beginning_of_year.beginning_of_day

我不禁感到我错过了什么.其他人是否使用Time来操纵日期?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读