【问题标题】:Getting one day less when trying to validate into full calendar尝试验证完整日历时减少一天
【发布时间】:2017-11-10 20:57:49
【问题描述】:

我正在实施 fullCalendar,但在尝试验证时遇到问题:

我无法发布 postdate < currentdate 的活动,所以我有类似的东西

var date = new Date();
var currentDay= moment().startOf('day');

function isGreaterThanToday(date) {
    return date < currentDate? false : true;
}

function updateAssignedEvent(event, delta, revertFunc) {

    if (!isGreaterThanToday(event.start)) {
         alert("You cant introduce an event before today.");
         revertFunc();
         return;
    }

但我的date 总是少一天,所以如果我今天尝试发帖,我会收到警报,但我想发布实际的一天。我可以在那里做什么?为什么我少了一天?问候

【问题讨论】:

  • 什么是“当前日期”?它似乎是未定义的。无论如何,这样比较日期通常是不明智的。既然你有 momentJS 可用,请使用 moment 的查询函数来获得可靠的结果。 momentjs.com/docs/#/query

标签: jquery datetime fullcalendar


【解决方案1】:

使用矩isAfter函数。

如果没有向 moment#isAfter 传递任何内容,它将默认为当前时间。

这是检查事件开始是否早于当前时间的示例。

function updateAssignedEvent(event, delta, revertFunc) {    
        if (moment(event.start).isAfter()) {
            alert("You cant introduce an event before today.");
            revertFunc();
            return;
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2016-03-19
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多