小编Duo*_*hat的帖子

比较 Rails 活动记录中日期时间列上的日期

使用 mysql 时,尝试将日期时间列与 Rails 中的日期进行比较时遇到问题。例如,我想找到在 2020-05-01 创建的用户,但“created_at”列的类型是日期时间,首先我尝试:

User.where("date(created_at) = ?", date) # date is 2020-05-01
Run Code Online (Sandbox Code Playgroud)

但是当我在日本时区使用rails并且在 2020-05-01 07:00 GMT+9 创建的用户时,rails 会将其保存在 mysql 中 GMT+0 。这意味着mysql中的created_at是2020-04-30 22:00 GMT+0。然后就User.where("date(created_at) = ?", date)不会返回这个了。

对于这种情况有好的解决办法吗?

mysql activerecord ruby-on-rails

0
推荐指数
1
解决办法
1507
查看次数

标签 统计

activerecord ×1

mysql ×1

ruby-on-rails ×1