Date.today
显示正确的日期,但是当我在Date.today
语句中使用Model.create
时,它会在数据库中插入上一个日期,而Date.today.to_datetime
正在数据库中插入正确的日期。
我的问题是为什么Date.today
方法中的Model.create
在DB中插入上一个日期?
答案 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提供的创建和更新时间的默认列应该适用于大多数情况。