使用 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)
不会返回这个了。
对于这种情况有好的解决办法吗?