我已经使用FullCalendar插件一段时间了,我已经设法让它在FF和Chrome中运行,但我似乎不明白为什么这些事件没有显示在Safari上。
我使用Rails后端来获取作为数组的事件。这是FireBug显示的事件的JSON对象。
_end: Invalid Date
_id: "1953"
_start: Fri Feb 10 2012 00:00:00 GMT+0530 (IST)
allDay: false
backgroundColor: "#F60 !important"
className: Array[0]
color: "#FFFFFF !important"
description: ""
end: Invalid Date
start: Fri Feb 10 2012 00:00:00 GMT+0530 (IST)
textColor: "#FFFFFF !important"
__proto__: Object
我在safari控制台上没有错误。无效的结束日期在FF和Chrome上显示为null
。
以下是我如何填充事件
event[:id] = each_event.id
event[:title] = each_event.event_title
event[:allDay] = each_event.all_day?
event[:start] = each_event.start_time.strftime('%Y-%m-%d %H:%M:00')
event[:end] = each_event.end_date.to_time.strftime('%Y-%m-%d %H:%M:00') if each_event.end_date.present?
event[:color] = '#FFFFFF !important'
event[:backgroundColor] = (each_event.user == current_user) ? '#F60 !important' : '#090 !important'
event[:backgroundColor] = '#090 !important' unless each_event.private?
event[:textColor] = '#FFFFFF !important'
我也尝试将日期时间转换为iso8601格式,但没有成功。我完全不知道问题出在哪里。我真的很感激你的帮助。
我也遇到了类似的问题。帮助我的是使用DateTime:的.iso8601函数
event[:start] = each_event.start_time.iso8601
event[:end] = each_event.end_date.to_time.iso8601 if each_event.end_date.present?
iso8601格式输出如下:2017-01-25T16:15:49+01:00
我也遇到了类似的问题。我将日期格式从:切换
"2019-05-09 04:00:00"
至
"2019-05-09T04:00:00"
您的字符串格式不正确。
而不是使用
event[:start] = each_event.start_time.strftime('%Y-%m-%d %H:%M:00')
event[:end] = each_event.end_date.to_time.strftime('%Y-%m-%d %H:%M:00') if each_event.end_date.present?
尝试使用
event[:start] = each_event.start_time.to_json
event[:end] = each_event.end_date.to_time.to_json if each_event.end_date.present?
根据FullCalendar文档,开始和结束属性需要一个日期对象或IETF格式、ISO8601格式或UNIX时间戳的字符串。因为strftime('%Y-%m-%d %H:%M:00')
不是其中之一,所以代码将不起作用。
http://arshaw.com/fullcalendar/docs/event_data/Event_Object/