如何修复javascript(完整日历)和rails之间的时间差?

如何修复javascript(完整日历)和rails之间的时间差?,javascript,jquery,ruby-on-rails-3,fullcalendar,Javascript,Jquery,Ruby On Rails 3,Fullcalendar,我使用完整日历jquery插件创建时间表,代码如下 $("#calendar").fullCalendar { defaultView: 'agendaWeek' hiddenDays: [0] axisFormat: 'HH:mm' minTime: '8:00' maxTime: '22:00' selectable: true agenda: 'h:mm{ - h:mm}' eventColor: '#00CCFF' eventBackgroundColor: '#00C

我使用完整日历jquery插件创建时间表,代码如下

$("#calendar").fullCalendar {
 defaultView: 'agendaWeek'
 hiddenDays: [0]
 axisFormat: 'HH:mm'
 minTime: '8:00'
 maxTime: '22:00'
 selectable: true
 agenda: 'h:mm{ - h:mm}'
 eventColor: '#00CCFF'
 eventBackgroundColor: '#00CCFF'
 defaultEventMinutes: 60
 editable: true
 DurationEditable: true
 allDayDefault: false
 droppable: true
 columnFormat:
   week: 'ddd'
 eventResize: (event,dayDelta,minuteDelta,revertFunc) ->
   alert event
 eventDrop: (event,dayDelta,minuteDelta,allDay,revertFunc) ->
   $.ajax
     url: "/events/#{event.id}"
     type: 'PATCH'
     data:
       'event':
         'start' : event.start
         'dayDelta' : dayDelta
         'minuteDelta' : minuteDelta
     success: (data) ->
 drop: (date, allDay, jsEvent, ui) ->
   copiedEventObject = {}
   copiedEventObject.start = date
   copiedEventObject.title = $(this).text()
   copiedEventObject.data_id = $(this).attr 'data-id'
   copiedEventObject.data_type = $(this).attr 'data-type'
   copiedEventObject.slotMinutes = Number($(this).attr('data-duration')) * 60
   copiedEventObject.allDay = allDay
   $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
   $(this).hide()
   $.post '/events', { 'event' : { 'title' : copiedEventObject.title, 'start' : copiedEventObject.start, 'data_id' : copiedEventObject.data_id, 'data_type' : copiedEventObject.data_type } }, (data) ->

 eventSources: [ "/events/?courses=#{courses}" ]
 header: {
   left: '',
   center: '',
   right: ''
 }
}
timeFormat: 'H(:mm)'
在我的控制器中,我从javascript获得的时间必须增加5小时30分钟

def create
case params[:event][:data_type]
when 'lecture'
  parent = Lecture.find(params[:event][:data_id])
when 'tutorial'
  parent = Tutorial.find(params[:event][:data_id])
when 'lab'
  parent = Lab.find(params[:event][:data_id])
end
params[:event][:start] = DateTime.parse(params[:event][:start]) + 5.hours + 30.minutes
event = parent.create_event(event_params)
if event then parent.update_attribute(:scheduled,true) end
render nothing: true
end
如果我不这样做,在日历上呈现的事件似乎比我删除它的时间晚了5小时30分钟。
为什么会出现问题。请帮助

RoR使用服务器时间,Javascript使用客户端计算机时间,不能保证它们是相同的。还有本地时间等。如果需要匹配时间,请获取servertime并在两者中使用。是否尝试在配置中的environment.rb中设置时区?此外,本页可能会帮助您感谢各位的建议。干杯。@adeneo如果您需要匹配时间,请您解释一下这一部分,获取服务器时间并在两者中使用。。日期/时间是根据我将事件放置在日历的哪个部分动态生成的。