【发布时间】:2020-05-21 08:08:28
【问题描述】:
在使用 mysql 时尝试比较日期时间列等于 rails 中的日期时遇到问题。例如,我想在 2020-05-01 找到用户创建但“created_at”列的类型是日期时间,首先我尝试:
User.where("date(created_at) = ?", date) # date is 2020-05-01
但是当我在日本时区使用 rails 并且在 2020-05-01 07:00 GMT+9 创建的用户时,rails 会使用 GMT+0 将其保存在 mysql 中。这意味着 created_at 在 mysql 中是 2020-04-30 22:00 GMT+0。然后User.where("date(created_at) = ?", date) 不会返回这个。
这种情况有好的解决办法吗?
【问题讨论】:
标签: mysql ruby-on-rails activerecord