fullcalendar如何将titleFormat设置为m / d / yyyy - m / d / yyyy

时间:2017-01-11 14:44:30

标签: javascript fullcalendar title

如何设置titleFormat以便日历的标题看起来像 2017年1月9日 - 2017年1月13日(星期六,星期六,周五至周日) 目前我的日历在开始时看起来像这样,标题看起来像1/9 - 15/2017(这不是我想要的)

  $('#calendar').fullCalendar({

            header: {
                left: 'prev title next today',
                right: ''
            },
            weekends: false,
            titleFormat: "M/D/Y",
            editable: false,
            firstDay: 1,
            disableDragging: true,
            displayEventEnd: true,
            views: {
                week: {
                    type: 'basicWeek',
                    duration: {
                        days: 7
                    },
                    columnFormat: 'dddd M/D/Y'// Format the day to show full weekday and its date
                }
            },

请协助。

2 个答案:

答案 0 :(得分:2)

您可以使用viewRender属性创建自己的标题格式。

首先,您必须将titleFormat更改为:

titleFormat: "YYYY/MM/DD"

标题现在应该是这样的:

2018/05/27 – 2018/06/02

然后您可以使用viewRender属性重新格式化标题:

 viewRender: function (view, element) {

                //reformat title date for week mode
                if (view.type == "agendaWeek") {

                    //Get the start date value and reformat the date
                    var startDate = moment(view.title.split("–")[0].replace(" ", "")).format("M/D/YYYY");

                    //You can set the day range depending on what you need
                    //If you only want to show dates from Monday to Friday, then you can get the end date value by adding 4 days from the start date
                    var endDate = moment(startDate).add(4, "days").format("M/D/YYYY");

                    //Override the fullcalendar title here
                    $(".fc-center h2").text(startDate + " – " + endDate);
                }

            }

您可以在此处阅读第二个问题的答案: FullCalendar show only weekDays

答案 1 :(得分:1)

抱歉,但你不能。

在内部,FullCalendar使用其formatRange方法格式化标题(请参阅https://fullcalendar.io/docs/utilities/formatRange/)。这采用给定的格式和智能地#34; (它的意思不是我的)拆分格式并在两个日期之间加一个破折号,这样你就可以得到一次指定的日期格式,但是在两天之间有一个短划线。因此,您可能会显示类似于" 2017年1月1日 - 31日和#34; (titleFormat: "MMM Do, Y")。

在任何情况下,您实际上都在尝试显示有效多余的信息 - 您希望将月份显示两次,将年份显示两次。用户只需显示一次就可以看到它非常愉快的月份和年份。