1
我有隻存儲時間的列。我想將其轉換爲日期時間,然後轉換爲特定的時區。當我在控制檯上僅使用屬性進行操作時,它會顯示正確的轉換值。但是當我在查詢中使用它時,查詢顯示UTC中的當前時間。假設我有中央時間存儲的時間「05:15」。現在,當我想爲30分鐘加和的這段時間減去間隔提取記錄,我下面,Ruby on Rails 3將時間轉換爲特定時區的DateTime
day = Time.now
# departure_time_from _db below is the name of column in table which store time
departure = departure_time_from _db.change(:day => date.day, :month => date.month, :year => date.year)
departure = departure.in_time_zone("Central Time (US & Canada)")
當我執行上面的代碼在控制檯上看到的價值,它顯示了正確的轉換值。但是當我在下面的查詢中使用這個變量時,使用當前時間而不是出發時間。
Model.where("column_name > ? and "column_name < ?, departure - 30.minutes, departure + 30.minutes)
在上面查詢中使用的應該是我想即中央時區的時間的時間,但在查詢輸出,它顯示的是使用UTC。
請讓我知道我錯過了什麼。
你的意思是說,無論我提供什麼日期時間,查詢中的日期時間都是按照UTC,即如果我在CST中提供日期時間,執行時它將被轉換爲UTC。 –
是的,這是正確的,它已轉換爲UTC。 –