Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找不到完整日历日期弃用函数_Javascript_Jquery_Fullcalendar - Fatal编程技术网

Javascript 找不到完整日历日期弃用函数

Javascript 找不到完整日历日期弃用函数,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我正在使用FullCalendar生成时间表。我的日期格式很特别,因为它们不是日期,但表示一周中的几天,如下所示: "name": "ECEC 301 Advanced Programming for Engineers Lecture", "days": "MWF", "times": "02:00 pm - 03:20 pm", "crn": "11215" 这是一把JS小提琴: 我在控制台中得到的警告是: Deprecation warning: moment construction

我正在使用FullCalendar生成时间表。我的日期格式很特别,因为它们不是日期,但表示一周中的几天,如下所示:

"name": "ECEC 301 Advanced Programming for Engineers Lecture",
"days": "MWF",
"times": "02:00 pm - 03:20 pm",
"crn": "11215"
这是一把JS小提琴:

我在控制台中得到的警告是:

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.
Error
    at Function.createFromInputFallback (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:7002)
    at da (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:7484)
    at Ba (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:11268)
    at Aa (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:11165)
    at za (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:10886)
    at Ca (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:11581)
    at Function.h [as utc] (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js:6:716)
    at ea (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.4.0/fullcalendar.min.js:6:7084)
    at Ma.moment.parseZone (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.4.0/fullcalendar.min.js:6:26684)
    at Ga.N.moment (https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.4.0/fullcalendar.min.js:6:14265)
我已经把调试器点放在了我的JS中,我一辈子都找不到调用不推荐的函数或过程的地方。如果你用小提琴打开控制台,警告也会弹出。我怀疑这是我的
start.toDate().getTime()
,但我在它执行后立即放置了一个断点,没有出现这样的警告

我在整个JS中都做了同样的事情

有人有什么想法吗


编辑:好的,我取出部分代码,看看什么时候会出现错误。如果我删除
events.push()
代码段,我将不再获得错误。既然我们知道了错误的来源,我该如何修复它

若要停止查看警告,请不要加载带有字符串作为日期的FC事件。使用具有显式格式字符串的力矩对象

在jsfiddle中的
addEventSource
函数的末尾粘贴此命令可以消除错误

for(var i in events){
    events[i].start = moment(events[i].start,"YYYY-MM-DD hh:mm a");
    events[i].end = moment(events[i].end,"YYYY-MM-DD hh:mm a");
    console.log(events[i]);
}


如果您想知道这个错误是关于什么的,它是一条消息,警告您解析某些类型的日期字符串很快就会被弃用。原因是:

使用Date从用户传递的字符串创建时刻是 非常不可预测,而且它在某种程度上起作用,然后 当你不小心的时候,用刀口咬你


因此,当您使用FullCalendar时,请使用momentjs对象而不是字符串。

注意事项来自moment.js库。。。必须使用非ISO类字符串
2015-12-12
,没有日期解析的隐式格式参数。我似乎没有使用任何矩函数。。除非它是
.toDate
,但是fullcalendar现在使用它来处理所有的日期啊。。是的,是的。我该如何调试有问题的函数的位置呢?请使用矩.js设置断点,首先找出调用该消息的位置。非常感谢。好的,我看到一旦所有的类都被推到事件中,您就可以再次循环,将日期转换为时刻对象,然后生成日历视图。这仅仅是扼杀了警告,还是完全解决了反对的根源?我这样问的原因是,我们仍然在推动事件的进展。此外,将它们转换为上面for循环中的时刻不是更好吗?这样我们就不会执行多个for循环了?它将所有字符串日期转换为具有显式格式字符串的momentjs对象。如果您遗漏了格式化字符串(请尝试),那么矩将尝试猜测它是什么格式,这将生成一个警告。如果你给fullcalendar传递一个字符串日期,它会立即把它变成一个时刻,而不知道确切的格式,并生成一个警告。是的,这就是我在开始时怀疑的。回到我最初的问题
将它们转换为上面for循环中的时刻是否更好,这样我们就不会执行多个for循环了?
哦,没有看到编辑。是的,您可以组合循环(并不是说会有太大的性能差异)。就个人而言,我使用momentjs处理所有日期,因为它非常灵活。