【问题标题】:Date.today time zone日期.今天时区
【发布时间】:2013-01-12 15:38:21
【问题描述】:

我有一个范围,它从数据库中提取所有调用,状态为 open,分配了单位,以及 transfer_date

scope :open_calls, lambda { open_status.includes(:call_units).where(["call_units.unit_id IS NOT NULL"]).where("EXTRACT(DAY FROM transfer_date) <= ? AND EXTRACT(MONTH FROM transfer_date) <= ?", Date.today.day, Date.today.month).order("calls.id ASC") }

我遇到的问题是,如果我将呼叫的转移日期设置为今天晚上 9:30,则呼叫不包含在范围内。我认为这与 UTC/时区有关。我正在尝试找出编写此范围的最佳方法是什么,以便我可以拉出所有调用

我正在使用 postgres btw ergo 查询中的 EXTRACT。

【问题讨论】:

    标签: ruby-on-rails-3 date activerecord scope timezone


    【解决方案1】:

    到目前为止,我已经使用了这个范围,并且能够在一天结束时将所有呼叫拉到今天。看起来它也适用于时区问题。

    scope :open_calls, lambda { open_status.includes(:call_units).where(["call_units.unit_id IS NOT NULL"]).where("transfer_date <= ?", Time.zone.today.end_of_day) }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      相关资源
      最近更新 更多