无法以正确的格式转换日期&小写来自fullcalendar事件对象

时间:2015-10-07 09:23:37

标签: javascript jquery fullcalendar

我正在使用fullcalendar http://fullcalendar.io/。 每当用户在我的日历中选择一个时间段时,我想获取日历中的所有事件并将其传输到我视图中的隐藏字段中:

 $('#calendar').fullCalendar({

});

我有一个选择回调:

select: function(start, end, id, allDay) {
var eventData = {
        start: start,
        end: end,
        unique_id: guid(),
        block:  true,
        editable: true,
        backgroundColor: "#469278"
      };
$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true


       var all_events = $('#calendar').fullCalendar('clientEvents');
       $.each(all_events, function(index, value) {
        console.log(value.start["_d"]);
        console.log(index);
           var day         = value.start["_d"].format("dddd");
           var start_time  = value.start["_d"].format("HH:mm");
           var end_time    = value.end["_d"].format("HH:mm");
           var id          = value.unique_id["_i"];
           var slot        = {
              day: day,
              start_time: start_time,
              end_time: end_time,
              id: id
            };
          array_all_events.push(slot);
          $("#dispo_array").val(JSON.stringify(array_all_events));
      });
  $('#calendar').fullCalendar('unselect');
    },

我在这里说,每次用户执行select操作时,我都应该获取所有事件对象:

var all_events = $('#calendar').fullCalendar('clientEvents');

然后我迭代它们中的每一个,将它们转换成正确的格式并将它们发送到我的隐藏字段中。 我不明白为什么我在这一行上收到错误:

var day         = value.start["_d"].format("dddd");

未捕获的TypeError:value.start._d.format不是函数

1 个答案:

答案 0 :(得分:1)

.format方法依赖于时刻库,因此您应该按以下方式使用它:

var day = moment(value.start["_d"]).format('dddd')

与其他变量相同。