【问题标题】:Value of datetime is always nildatetime 的值始终为零
【发布时间】:2013-07-14 07:19:28
【问题描述】:

我遇到了这个问题。当我使用 Rails 控制台并执行此命令时,@partner = Partner.find(1)。字段 lastStatement 为 nil 但何时 我使用 psql lastStatement 查询值为 2013-07-14 13:40:07。我注意到 rails 中的所有日期值都为零,但在 psql 中它们具有值。 知道有什么问题吗?我正在使用 rails 4 和 posgresql 9

@partner = Partner.find(1)

合作伙伴 ID:1,名称:“BPI”,状态:“在线”,尝试次数:5,lastStatement:nil,created_at:nil,updated_at:nil

SELECT "partners".* FROM "partners" WHERE "partners"."id" = 1;

id | name | status | tries |    lastStatement    |        created_at         |    updated_at         
 1 | BPI  | online |     5 | 2013-07-14 13:40:07 | 2013-07-14 13:32:26.51822 | 2013-07-14 13:40:13.007967

【问题讨论】:

  • 模型定义中的代码有助于理解您的问题,
  • 您是直接在 psql 中插入这些日期值吗?还是来自您的 Rails 应用程序?如果是第二种情况,请在插入数据库之前尝试使用 Date.strptime("yyyy/mm/dd", "%m/%d/%y") 重新格式化日期

标签: sql ruby-on-rails ruby postgresql


【解决方案1】:

好的,我发现问题与时区有关。我为解决这个问题所做的是 在我的 application.rb 中更改此值

config.active_record.default_timezone = :local
config.active_record.time_zone_aware_attributes = false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2012-01-16
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多