2012-12-10 32 views
0

我有一個使用Fullcalendar的RoR應用程序 - 在Heroku上運行。 日曆視圖顯示上午9點至上午10點的事件。當我查看時間列表時,我得到了4點 - 7點。Fullcalendar時區

它與時區有關嗎?

我試着設置ignoreTimeZone真,然後假:

$(document).ready -> 
    $('#calendar').fullCalendar 
    editable: true, 
    ignoreTimezone: true, 
    header: 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    defaultView: 'month', 
    height: 500, 
    slotMinutes: 30, 

感謝您的幫助!

下面是一個例子 - 數據庫記錄已經start_at 16:00(下午4點),但Fullcallendar視圖顯示它開始在上午9點

+0

事件中設置的時間如何?你在使用UTC補償嗎? – ganeshk

+0

我正在使用arshaw Fullcalendar。它提供了字段starts_at和ends_at。我將這些字段保存到RoR pg數據庫中。 – Reddirt

+0

啊,我現在看到了。你在談論觀看時間,而不是事件。你可以在你列出時間的地方發佈代碼嗎? – ganeshk

回答

0

下面固定的問題:

$ heroku config:add TZ =美國/丹佛

0

你的事件列表(index.html.erb等)顯示,當UTC時間fullcalendar在瀏覽器檢測到的時區中顯示時間。

爲了解決這個問題,您應該將每個請求線程的時區設置爲用戶的時區。這應該工作:

在你的事件控制器,補充一點:

before_filter set_time_zone 

def set_time_zone 
    (...) 
end 

結帳在這個職位的其餘代碼: https://stackoverflow.com/a/942865/336806

還有,我使用自己這個整齊的寶石:

https://github.com/scottwater/detect_timezone_rails

+0

感謝您的幫助! – Reddirt