【发布时间】:2014-07-10 21:50:31
【问题描述】:
我正在查询这样的结果:
@logs.where("extract(dow from created_at at time zone ?) = ?", "America/New_York", day_of_week)
但它不起作用。 (我也在那里尝试过“Time.zone.tzinfo.identifier”,但在这里使用结果进行测试和澄清。)例如,有人可能在东部时间 10:30 发帖,但由于它存储在 UTC,它不会出现在包含它的查询中。
我开始了一个新问题,因为我从这里得到了这个答案,即使它有一个公认的答案,它显然对我不起作用: handling rails + postgres and timezones
这种方法有什么问题吗?还有其他当前或更好的方法吗?
更新信息:
created_at 存储为日期时间。我的时区设置仍然是 UTC,但我正在尝试获取带有“America/New_York”区域的帖子,应该仍然有效。不起作用,我的意思是我会查询 15 号,一些帖子会返回,但是由于 UTC 差异,一些在 15 号当天晚些时候发布的帖子仍然会在 16 号返回。包含它的查询列在代码块上方。我正在尝试从时区“America/New_York”的 created_at 获取 dow。
【问题讨论】:
-
created_at的确切数据类型?你的时区设置?it's not working- 如何 到底是什么? “包含它的查询”的确切 SQL? This related answer may be of help.
标签: ruby-on-rails postgresql timezone