2013-04-16 45 views
2

我試圖找到一種方法,我可以告訴搜索引擎在涉及日期或日期範圍的查詢中使用特定的時區。例如,默認情況下,ransack使用UTC進行日期時間搜索,我想使用PST時區執行查詢,我該怎麼做?有沒有破解或配置?以下是生成的示例查詢。ransack在搜索查詢中指定時區

SELECT DISTINCT「orders」。* FROM「orders」LEFT OUTER JOIN「customers」ON「customers」。「id」=「orders」。「customer_id」LEFT OUTER JOIN「payments」ON「payments」。「order_id 「=」orders「。」id「LEFT OUTER JOIN」order_lines「ON」order_lines「。」order_id「=」orders「。」id「WHERE」orders「。」test_transaction「='f'AND((」orders「。 「created_at」> = '2012年11月3日07:00:00.000000' AND 「訂單」, 「created_at」 < = '2012年11月5日06:59:59.000000'。))

由於

回答

1

不確定Ransack的具體情況,但通常如果您要在數據庫中存儲UTC日期,則應按UTC值進行查詢。

如果您的查詢日期是在太平洋時間,那麼請在將它們轉換爲UTC之前將它們轉換爲您的查詢。您可以使用紅寶石,例如timezone,TZInfoActiveSupport::TimeZone來進行轉換。