从 ruby 开始将时间存储在 postgresql 中
Store time in postgresql from ruby
我正在尝试在 postgresql 中保存一些时间属性(小时:Mitues),但在保存数据之前我不明白发生了什么,因为 INSERT 是 运行。
我可以在我的日志中看到 "time:\n- \n-2016-01-21 22:00:00.000000000 +01:00",但它在数据库中变成了“21:00:00”。
我想这与 +01:00 偏移有关,但我已尝试在我的应用程序中设置配置时区,但没有任何改变...
我的应用程序是 API,它会更新此属性以及许多其他属性。
create_table :things do |t|
t.time :time
end
这里更新了:
collection.each do |resource|
resource.update_attributes resource_params[resource.id.to_s].first
end
是的,你是对的。您的数据保存在数据库中的时区是 UTC。您应该在 application.rb
中进行的配置是:
config.active_record.default_timezone = :local
如果您还没有明确声明您的时区,您应该明确声明:
config.time_zone = 'Madrid'
我正在尝试在 postgresql 中保存一些时间属性(小时:Mitues),但在保存数据之前我不明白发生了什么,因为 INSERT 是 运行。
我可以在我的日志中看到 "time:\n- \n-2016-01-21 22:00:00.000000000 +01:00",但它在数据库中变成了“21:00:00”。
我想这与 +01:00 偏移有关,但我已尝试在我的应用程序中设置配置时区,但没有任何改变...
我的应用程序是 API,它会更新此属性以及许多其他属性。
create_table :things do |t|
t.time :time
end
这里更新了:
collection.each do |resource|
resource.update_attributes resource_params[resource.id.to_s].first
end
是的,你是对的。您的数据保存在数据库中的时区是 UTC。您应该在 application.rb
中进行的配置是:
config.active_record.default_timezone = :local
如果您还没有明确声明您的时区,您应该明确声明:
config.time_zone = 'Madrid'