這是我目前的情況:Rails 3.1時區困惑?
我有一個用戶類有一個屬性時區。
當用戶使用start_time(3pm)和end_time(5pm)創建演講時,我想確保在數據庫中start_time和end_time實際上是用戶時區中的下午3點和下午5點。
在我的應用程序控制器我做了以下內容:
def set_timezone
if current_user
Time.zone = current_user.time_zone or "Eastern Time (US & Canada)"
end
end
當上述講座保存到數據庫中似乎增加4小時。它是否將其轉換回UTC?奇怪的是,當我在視圖中顯示時間時是正確的(我猜它已經從UTC時間轉換回EST時間)。
我需要它,以便如果用戶選擇4pm,它會在下午4點保存在數據庫中,並且當我在視圖中顯示那段時間時,它是下午4點。我現在做錯了什麼?
編輯:它似乎導軌還將所有時間轉換爲UTC時,將它們存儲在數據庫中。沒關係,直到我做了一個涉及時間的查詢(我將不得不手動將它轉換爲UTC)。