jQuery FullCalendar正在回归1970年

时间:2016-01-29 21:25:26

标签: javascript jquery fullcalendar

我已启动日历并正确呈现。

我使用选择下拉列表跳转到一个月。这是我的代码。

HTML:

<select name="months">
    <option value="">Select a month ...</option>
    <option value="0">January</option>
    <option value="1">February</option>
    <option value="2">March</option>
    <option value="3">April</option>
    <option value="4">May</option>
    <option value="5">June</option>
    <option value="6">July</option>
    <option value="7">August</option>
    <option value="8">September</option>
    <option value="9">October</option>
    <option value="10">November</option>
    <option value="11">December</option>
</select>

JS:

jQuery('select[name="months"]').change(function() {
    var month = jQuery(this).val();

    // console.log(month);

    jQuery('#calendar').fullCalendar('gotoDate', 2016, month);

});

由于某些原因,当我更改月份时,日历将跳至1970年1月。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

查看goToDate的完整日历文档:

  

<强> gotoDate

     

将日历移动到任意日期。

     

.fullCalendar(&#39; gotoDate&#39;,date),其中date可以是Moment对象,或者   Moment构造函数接受的任何内容。

当您更改日期时,您需要传入moment.js date,或者当下可以转换为时刻的内容。因为您的约会时间不是一个有效的时刻&#39;日期,它将您选择的日期默认为&#39; 0&#39;纪元时光。

您需要的代码如下:

jQuery('#calendar').fullCalendar('gotoDate', [momentObjectHere]);

有趣的事实:你在结果中看到1970年的原因是,1970年是&#39; 0&#39;在大纪元时间。这是一种将时间表示为数字的方式。如果您有兴趣,可以阅读有关epoch time here的更多信息。

http://fullcalendar.io/docs/current_date/gotoDate/