弃用警告:提供的值不在公认的 RFC2822 或 ISO 中

问题描述

moment.min.js:6 弃用警告:提供的值不是公认的 RFC2822 或 ISO 格式。 moment 构造回退到 js Date(),这在所有浏览器和版本中都不可靠。不鼓励使用非 RFC2822/ISO 日期格式,并将在即将发布的主要版本中删除。有关详细信息,请参阅 http://momentjs.com/guides/#/warnings/js-date/。 参数: [0] _isAMomentObject:真,_isUTC:假,_useUTC:假,_l:未定义,_i:07/07/2021 12:00 AM,_f:未定义,_strict:未定义,_locale:[对象对象] 错误 在 Function.createFromInputFallback (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:3248) 在 GB (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:19736) 在 rb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22824) 在 qb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22691) 在 pb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22410) 在 sb (https:///ajax/libs/moment.js/2.18.1/moment.min.js:6:23150) 在 tb (https:///ajax/libs/moment.js/2.18.1/moment.min.js:6:23184) 在 (https:///ajax/libs/moment.js/2.18.1/moment.min.js:6:202) 在 HTMLButtonElement.eval (webpack:///./Scripts/calendar.js?:97:19) 在 HTMLButtonElement.dispatch (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js:2:41772)

嗨,我的 asp.net-core 项目有这个问题。我尝试复制此调度程序:https://github.com/esausilva/fullcalendar-aspnet-core 但是...

我的js代码是这样的:

let currentEvent;
const formatDate = date => date === null ? '' : moment(date).format("MM/DD/YYYY h:mm A");
const fpStartTime = flatpickr("#StartTime",{
    enableTime: true,dateFormat: "m/d/Y h:i K"
});
const fpEndTime = flatpickr("#EndTime",dateFormat: "m/d/Y h:i K"
});

$('#calendar').fullCalendar({
    defaultview: 'month',height: 'parent',header: {
        left: 'prev,next today',center: 'title',right: 'month,agendaWeek,agendaDay'
    },eventRender(event,$el) {
        $el.qtip({
            content: {
                title: event.title,text: event.description
            },hide: {
                event: 'unfocus'
            },show: {
                solo: true
            },position: {
                my: 'top left',at: 'bottom left',viewport: $('#calendar-wrapper'),adjust: {
                    method: 'shift'
                }
            }
        });
    },events: '/Calendar/GetCalendarEvents',eventClick: updateEvent,selectable: true,select: addEvent
});

/**
 * Calendar Methods
 **/

function updateEvent(event,element) {
    currentEvent = event;

    if ($(this).data("qtip")) $(this).qtip("hide");
    
    $('#eventModalLabel').html('Edit Event');
    $('#eventModalSave').html('Update Event');
    $('#EventTitle').val(event.title);
    $('#Description').val(event.description);
    $('#isNewEvent').val(false);

    const start = formatDate(event.start);
    const end = formatDate(event.end);

    fpStartTime.setDate(start);
    fpEndTime.setDate(end);

    $('#StartTime').val(start);
    $('#EndTime').val(end);

    if (event.allDay) {
        $('#AllDay').prop('checked','checked');
    } else {
        $('#AllDay')[0].checked = false;
    }

    $('#eventModal').modal('show');
}

function addEvent(start,end) {
    $('#eventForm')[0].reset();

    $('#eventModalLabel').html('Add Event');
    $('#eventModalSave').html('Create Event');
    $('#isNewEvent').val(true);

    start = formatDate(start);
    end = formatDate(end);

    fpStartTime.setDate(start);
    fpEndTime.setDate(end);

    $('#eventModal').modal('show');
}

/**
 * Modal
 * */

$('#eventModalSave').click(() => {
    const title = $('#EventTitle').val();
    const description = $('#Description').val();
    const startTime = moment($('#StartTime').val());
    const endTime = moment($('#EndTime').val());
    const isAllDay = $('#AllDay').is(":checked");
    const isNewEvent = $('#isNewEvent').val() === 'true' ? true : false;
    
    if (startTime > endTime) {
        alert('Start Time cannot be greater than End Time');

        return;
    } else if ((!startTime.isValid() || !endTime.isValid()) && !isAllDay) {
        alert('Please enter both Start Time and End Time');

        return;
    }

    const event = {
        title,description,isAllDay,startTime: startTime._i,endTime: endTime._i
    };

    if (isNewEvent) {
        sendAddEvent(event);
    } else {
        sendUpdateEvent(event);
    }
});

function sendAddEvent(event) {
    axios({
        method: 'post',url: '/CalendarController/AddEvent',data: {
            "Title": event.title,"Description": event.description,"Start": event.startTime,"End": event.endTime,"AllDay": event.isAllDay
        }
    })
    .then(res => {
        const { message,eventId } = res.data;

        if (message === '') {
            const newEvent = {
                start: event.startTime,end: event.endTime,allDay: event.isAllDay,title: event.title,description: event.description,eventId
            };

            $('#calendar').fullCalendar('renderEvent',newEvent);
            $('#calendar').fullCalendar('unselect');
            
            $('#eventModal').modal('hide');
        } else {
            alert(`Something went wrong: ${message}`);
        }
    })
    .catch(err => alert(`Something went wrong: ${err}`));
}

function sendUpdateEvent(event) {
    axios({
        method: 'post',url: '/Calendar/UpdateEvent',data: {
            "EventId": currentEvent.eventId,"Title": event.title,"AllDay": event.isAllDay
        }
    })
    .then(res => {
        const { message } = res.data;

        if (message === '') {
            currentEvent.title = event.title;
            currentEvent.description = event.description;
            currentEvent.start = event.startTime;
            currentEvent.end = event.endTime;
            currentEvent.allDay = event.isAllDay;

            $('#calendar').fullCalendar('updateEvent',currentEvent);
            $('#eventModal').modal('hide');
        } else {
            alert(`Something went wrong: ${message}`);
        }
    })
    .catch(err => alert(`Something went wrong: ${err}`));
}

$('#deleteEvent').click(() => {
    if (confirm(`Do you really want to delte "${currentEvent.title}" event?`)) {
        axios({
            method: 'post',url: '/Calendar/DeleteEvent',data: {
                "EventId": currentEvent.eventId
            }
        })
        .then(res => {
            const { message } = res.data;

            if (message === '') {
                $('#calendar').fullCalendar('removeEvents',currentEvent._id);
                $('#eventModal').modal('hide');
            } else {
                alert(`Something went wrong: ${message}`);
            }
        })
        .catch(err => alert(`Something went wrong: ${err}`));
    }
});

$('#AllDay').on('change',function (e) {
    if (e.target.checked) {
        $('#EndTime').val('');
        fpEndTime.clear();
        this.checked = true;
    } else {
        this.checked = false;
    }
});

$('#EndTime').on('change',() => {
    $('#AllDay')[0].checked = false;
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)