我有一个使用Fullcalendar的RoR应用程序 - 在Heroku上运行。日历视图将事件显示为上午 9 点至上午 10 点。 当我查看时间列表时,我会得到 4p - 7pm。
它与时区有关吗?
我尝试将忽略时区设置为 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 点开始
您的事件列表(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
以下内容解决了该问题:
$ heroku 配置:添加 TZ=美国/丹佛