ruby-on-rails 查询时间之间创建的记录,不考虑日期

qni6mghb  于 2022-11-19  发布在  Ruby
关注(0)|答案(1)|浏览(127)

如何在Rails中查询12:45:00到12:45:59之间的记录?
我的记录的dateTime是Mon, 06 Nov 2022 12:12:10.000000000 EST -05:00,但当我运行find_by("datetime_field::time BETWEEN '12:12:00' AND '12:13:00'")时,它返回nil
数据库:PostgresQL

6ie5vjzr

6ie5vjzr1#

这很可能是时区问题。如果您是以“正常”Rails方式进行操作,那么您的列可能是timestamp without time zone类型,并且时间戳以UTC存储。您可以运行以下命令来查看时间:

YourModel.select("datetime_field::time as time").map(&:time)

您可能会看到一个UTC时间数组,如果使用UTC时间而不是EST时间,find_by将正常工作。

相关问题