无法在数据库中存储时间

时间:2016-06-15 12:05:30

标签: ruby-on-rails ruby postgresql time insert

我在rails应用程序中使用了Time.new方法来获取当前日期,我希望将此日期存储到datetime类型的变量中。我正在使用postgresql。现在,如果我使用pgAdminIII手动将此格式的日期插入表中,它工作正常,但如果我尝试通过控制器代码将时间插入表中,那么它将在表中存储不同的日期时间。

例如,假设当前时间是: -

2016-06-15 17:29:29

如果我通过从网页复制此行手动将此日期和时间插入表中,那么它正常工作。

但我的控制器代码将其存储到表中是插入其他内容,如

2016-06-15 11:41:39

注意:我只使用了Time.new(我的代码中未指定时区)

1 个答案:

答案 0 :(得分:0)

只是活动记录使用utc作为时区。 如果您希望Active Record将时间存储在首选时区,请在此处更改

@Unroll
def "demo test: result should be #res if inp=#inp"() {
    expect:
    methodTest(inp) == res 

    where:
    inp || res
    "a" || true
    "b" || false 
}

参考:How to change default timezone for Active Record in Rails?