我在中央时区 ( ENV['TZ'] = America/Chicago
) 但我所有的 MongoDB 条目都以 UTC 格式存储。因此,如果我想查询昨天所有的条目,我必须过度补偿时区:
tz = 5.hours
d1 = Date.yesterday.at_midnight + tz
d2 = d1 + 1.day
Entry.where(:created_at.gte => d1, :created_at.lt => d2)
我很确定这是一个重大的黑客攻击,但我不确定如何正确解决这个问题?它应该在数据库端还是在代码中。是否有一些阅读资源可以教如何正确执行此操作?