为什么Date.today在数据库中插入上一个日期?

时间:2012-11-28 06:02:47

标签: ruby-on-rails ruby

Date.today显示正确的日期,但是当我在Date.today语句中使用Model.create时,它会在数据库中插入上一个日期,而Date.today.to_datetime正在数据库中插入正确的日期。

我的问题是为什么Date.today方法中的Model.create在DB中插入上一个日期?

1 个答案:

答案 0 :(得分:0)

在Rails中,/ config / application.rb中有一个时区设置:

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

为了保持一致性,所有时间都存储在UTC的Rails数据库中。所以如果你试试控制台:

$ rake time:zones:local

您售出的所有可用时区。

您可以看到输入的区别:

Time.now

Time.zone.now

我认为Rails提供的创建和更新时间的默认列应该适用于大多数情况。