如何使 fullCalendar 接受不同的日期和时间格式?
例如,我的事件的日期格式如下:
02.07.2018 08:55:00
对于这种日期时间格式,我收到来自 moment.js 的警告
"Deprecated warning: value provided is not a recognized ISO format".
最佳答案
弃用警告是因为您可能在解析日期时未指定 moment
中的格式。 Moment JS 内部使用 new Date()
,其日期应在 ISO 中。或RFC2822格式。
弃用是因为解析日期字符串的跨浏览器支持存在差异。
Chrome 将 new Date("02.07.2018 08:55:00")
解析为 Wed Feb 07 2018 08:55:00 GMT+0530(印度标准时间)
.
Firefox 不会解析相同内容并输出无效日期
。
在 Mac 和 Linux Fedora 中的 Chrome 和 Firefox 中进行了验证。
为了克服这种跨浏览器开销,moment
会考虑您作为参数传递的格式。显然您使用的日期不是这些格式。
要抑制弃用警告,请执行以下任一操作
- 您应该通过 moment 对象提及日期格式。
时刻("02.07.2018 08:55:00","DD.MM.YYYY HH:mm:ss")
- 在时刻日期构造之前通过
moment.suppressDeprecationWarnings = true;
进行抑制。
下面的示例在 fullCalendar 中添加了一个事件到 2018 年 7 月 2 日
,并且日期格式按照指定给出。
$(function() {
var fc_date_format = "DD.MM.YYYY HH:mm:ss";
var event = {id:1, title:"Logged in to StackOverflow", start:moment("02.07.2018 12:30:45", fc_date_format)}
$('#calendar').fullCalendar({
weekends : false
});
$('#calendar').fullCalendar("renderEvent", event, true);
});
<link href="https://fullcalendar.io/releases/fullcalendar/3.9.0/fullcalendar.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="https://fullcalendar.io/releases/fullcalendar/3.9.0/fullcalendar.min.js"></script>
<div id='calendar'></div>
关于javascript - 在 FullCalendar 中设置日期时出现弃用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51130630/