【问题标题】:Why is my created_at column showing up as yesterday? (in Rails 3.2)为什么我的 created_at 列显示为昨天? (在 Rails 3.2 中)
【发布时间】:2017-06-12 10:13:19
【问题描述】:

我在一条记录中有 2 列

updated_at: 2017-01-26 16:14:14.479386
created_at: 2017-01-26 00:00:00

为什么我写的时候会这样:

<%= created_at.strftime("%B %-d, %Y") %>

它在页面上显示为 2017 年 1 月 25 日,晚了一天?

更奇怪的是,当我将 created_at 更改为 2017-01-26 00:04:00 时,它显示为 JANUARY 26, 2017

这到底是怎么回事?

【问题讨论】:

  • 在 Rails 控制台中,Rails.configuration.time_zone - 这个设置正确吗?

标签: ruby-on-rails activerecord time


【解决方案1】:

数据库记录以 UTC 存储,而您的 ActiveRecord 访问器会将 UTC 日期转换为当前使用的时区。

【讨论】:

    猜你喜欢
    • 2011-03-03
    • 2014-11-27
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2012-02-09
    相关资源
    最近更新 更多