ruby on rails 3 -日期.今天的时区



我有一个作用域,它从数据库中提取所有调用,状态为打开,有分配的单位,和一个transfer_date <= Date.today。

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,因此在查询中使用EXTRACT

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

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) }

相关内容

  • 没有找到相关文章

最新更新