0

我有一个使用 Fullcalendar 的 RoR 应用程序 - 在 Heroku 上运行。日历视图将事件显示为上午 9 点 - 上午 10 点。当我查看时间列表时,我会得到下午 4 点到晚上 7 点。

它与时区有关吗?

我尝试将ignoreTimeZone设置为true,然后设置为false:

$(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 点开始

4

2 回答 2

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

于 2012-12-23T15:55:57.393 回答
0

以下解决了该问题:

$ heroku 配置:添加 TZ=美国/丹佛

于 2013-01-02T20:42:02.920 回答