gpt4 book ai didi

ruby-on-rails - 使用 rails 和时区查询 postgres

转载 作者:行者123 更新时间:2023-11-29 11:43:21 25 4
gpt4 key购买 nike

我正在查询这样的结果:

@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”时区的帖子,这应该仍然有效。 By 不起作用,我的意思是我会查询 15 号,一些帖子会返回,但由于 UTC 差异,一些在 15 号当天晚些时候发布的帖子仍会在 16 号返回。包含它的查询列在代码块上方。我正在尝试从时区“America/New_York”的 created_at 获取道琼斯指数。

最佳答案

@logs = @logs.where("extract(day from (created_at at time zone 'Etc/UTC') at time zone ?) = ?", Time.zone.tzinfo.identifier, params[:date].to_f)

终于明白了!主要来自此链接,但有一些小的调整:

PostgreSQL: selecting rows that occur on a certain day of the week, in a specific time zone

关于ruby-on-rails - 使用 rails 和时区查询 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com