我有一個查詢今天調用的範圍。基於範圍我用它來計算今天的通話量。在rails中查詢日期範圍
我的日期以UTC格式存儲,但導軌轉換爲我的本地時區。我想要做的是在今天00:00和23:59之間查找所有電話。
範圍:
scope :today, where("DATE(transfer_date) BETWEEN ? AND ?", Time.zone.now.utc.beginning_of_day, Time.zone.now.utc.end_of_day)
IRB輸出(在抓到由於UTC調用)
irb(main):010:0> Call.last.transfer_date
Call Load (0.9ms) SELECT "calls".* FROM "calls" ORDER BY "calls"."id" DESC LIMIT 1
=> Sun, 07 Oct 2012 19:45:00 CDT -05:00
irb(main):011:0>
irb(main):011:0> Call.last.transfer_date.utc
Call Load (1.3ms) SELECT "calls".* FROM "calls" ORDER BY "calls"."id" DESC LIMIT 1
=> 2012-10-08 00:45:00 UTC
我試圖找出如何查詢僅是00:00之間的呼叫和今天23:59。到目前爲止,嘗試使用或不使用utc,zone等都不起作用。它不斷拉動基於UTC的範圍,其中包括來自昨天的呼叫(昨天如果它與本地時區格式化)。
如何在兩次之間查詢以獲取正確的輸出?我有點迷失在這裏。
請問您能否明確提出您的問題,意味着您提供範圍的模型,以及您今天沒有寫作範圍的底層模型。 –