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

FullCalendar如何设置列标题日期格式?

解决FullCalendar中columnFormat属性报错及移动端日期格式优化问题

错误原因

columnFormat是FullCalendar v4及更早版本的配置项,在v5+版本中已被废弃移除,因此TypeScript会提示该属性不存在于CalendarOptions类型定义中。

替代方案(v5+版本)

要实现缩短日期格式并适配移动端显示,可使用dayHeaderFormat(针对月视图/周视图的列头日期)或slotLabelFormat(针对时间网格视图的时间段标签),结合响应式配置区分移动端与桌面端的显示逻辑。

示例代码

<FullCalendar
    ref={calendarRef}
    plugins={[
        dayGridPlugin,
        timeGridPlugin,
        listPlugin,
        interactionPlugin,
    ]}
    // 基础的列头日期格式(桌面端)
    dayHeaderFormat={{
        weekday: 'short',
        month: 'numeric',
        day: 'numeric',
    }}
    // 响应式配置:针对移动端调整日期显示
    responsive={[
        {
            breakpoint: 'max-width: 768px',
            options: {
                dayHeaderFormat: {
                    weekday: 'narrow', // 仅显示星期缩写(如周一→一)
                    month: 'numeric',
                    day: 'numeric',
                }
            }
        }
    ]}
    // 保留原有其他配置
    initialView="dayGridMonth"
    eventDrop={(dropInfo) => {}}
/>

格式参数说明

  • weekday: 'short':显示短星期名(如Mon/周一)
  • weekday: 'narrow':显示极短星期名(如M/一)
  • month: 'numeric':显示数字月份(如10)
  • day: 'numeric':显示数字日期(如5)

如果使用时间网格视图(timeGridWeek/timeGridDay),可通过slotLabelFormat优化时间段显示:

slotLabelFormat={{
    hour: 'numeric',
    minute: '2-digit',
    omitZeroMinute: true, // 省略分钟为0的显示(如9:00→9)
    meridiem: 'short' // 可选:显示AM/PM标识
}}

内容的提问来源于stack exchange,提问作者János

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 10:33:21