You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FullCalendar.io脚本日期处理异常:ICS文件无效日期解析失败

问题解决步骤

1. 统一FullCalendar版本,消除版本冲突

你同时引入了v6.1.10和v5.5.1的FullCalendar脚本,版本不兼容会引发各类异常。建议统一使用同一版本:

  • 若保留v5.5.1,删除v6.1.10的脚本行:
    <!-- 删除该行:<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.js'></script> -->
    
  • 若升级到v6.x,需调整插件引入方式(v6的ical插件为独立包,全局模式下插件名称不同):
    <link href="https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/main.min.css" rel="stylesheet" />
    <script src="https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@fullcalendar/icalendar@6.1.10/index.global.min.js"></script>
    

2. 正确声明所需插件

使用ICS格式加载事件,必须在Calendar配置中声明对应插件,取消注释并修正插件名称:

  • 针对v5.5.1:
    plugins: ['dayGrid', 'icalendar'],
    
  • 针对v6.x:
    plugins: [FullCalendar.DayGrid, FullCalendar.iCalendar],
    

3. 处理ICS文件中的无效日期

控制台报错的"2024-02-17T::"是无效日期格式,这是ICS文件本身的问题,可通过两种方式解决:

  • 检查生成ICS文件的源头,修正日期格式(正确格式示例:2024-02-17T10:30:00或纯日期2024-02-17)
  • 若无法修改ICS文件,可在代码中添加过滤逻辑,剔除无效日期的事件:
    events: {
      url: "x.ics",
      format: "ics",
      success: function(events) {
        return events.filter(event => {
          return event.start && !isNaN(new Date(event.start).getTime());
        });
      }
    }
    

完整修复后的v5.5.1代码示例

<link href="https://cdn.jsdelivr.net/npm/fullcalendar@5.5.1/main.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.5.1/main.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.5.1/locales-all.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@fullcalendar/icalendar@5.5.1/main.global.min.js"></script>

<script>
document.addEventListener("DOMContentLoaded", function () {
  var calendarEl = document.getElementById("calendar");

  var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: "dayGridMonth",
    headerToolbar: {
      left: "prev,next today",
      center: "title",
      right: "dayGridMonth,timeGridWeek,timeGridDay",
    },
    plugins: ['dayGrid', 'icalendar'],
    events: {
      url: "x.ics",
      format: "ics",
      success: function(events) {
        return events.filter(event => {
          return event.start && !isNaN(new Date(event.start).getTime());
        });
      }
    },
  });

  calendar.render();
});
</script>

内容的提问来源于stack exchange,提问作者Jason Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:27:53