fullcalendar - end/start 事件的日期格式

fullcalendar - date format for end/start events

这(我希望)是一个基本问题。我没有在 fullcalendar 中看到日历事件,我认为问题是我尝试用于 start/end 事件的日期格式。我正在尝试通过加载 JSON 事件来设置基本日历。这是我的 JSON 输出(修剪为一个事件,以免占用太多空间):

[{"id":"89","title":"A Title","start":"June 2nd 2015","end":"August 14th 2015"}]

我的 javascript 看起来像这样:

$(document).ready(function() {
    $('#calendar').fullCalendar({
        editable: false,
        events: "data.php"
    });
});

同样,非常基础。我确定事件未出现的问题是由于我使用的日期格式引起的,但我不确定如何告诉 fullCalendar 对 start/end 事件使用 MMMM Do YYYY 格式 moment.js。有人对如何实现这一点有建议吗?

编辑:

尝试按照这些思路添加一些内容...但仍然没有成功:

var start = moment(event.start).format("MMMM Do YYYY");
var end = moment(event.end).format("MMMM Do YYYY");

我通过为事件定义一个函数来完成类似的事情,遍历数据,使用我想要的格式为 start 字段创建 moment.js 对象。 docs 具有完成此操作的基础知识。

编辑:我从 docs 中复制了示例并使用 moment.js 修改了开始时间。

$('#calendar').fullCalendar({
events: function(start, end, timezone, callback) {
    $.ajax({
        url: 'myxmlfeed.php',
        dataType: 'xml',
        data: {
            // our hypothetical feed requires UNIX timestamps
            start: start.unix(),
            end: end.unix()
        },
        success: function(doc) {
            var events = [];
            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).attr('title'),
                    start: moment($(this).attr('start'), 'MMMM Do YYYY') // will be parsed
                    });
                });
                callback(events);
            }
        });
    }
});

我不确定这是否会被视为一个答案或更多的解决方法,但无论如何我都会 post 它作为一个答案。

我最终只是转换了 json 输出中的日期格式,正如布鲁诺在上述评论中所建议的那样。有点希望我能用 javascripting 解决这个问题,但经过数小时的尝试,我永远无法让事件显示在日历中。

我会继续 post 我的 php 那些好奇的来源(只显示开始日期):

    $start = $row['startdate'];
    $start_obj = new \DateTime($start);
    $events['start'] = $start_obj->format('Y-m-d');