【问题标题】:Fullcalendar select wrong end dateFullcalendar 选择错误的结束日期
【发布时间】:2018-08-14 00:50:54
【问题描述】:

我正在使用可选功能,当用户选择日期时,它将在模式中显示开始和结束日期。但显示的结束日期比实际选择的日期多一天。例如,我点击 3 月 1 日,结束日期将显示 3 月 2 日。这是我的代码:

select: function (start, end, allDay, jsEvent, view) {
          var view = $('#calendar').fullCalendar('getView');
          $("#EndDate").val('');
          alert(end);

          if (view.name === "month") {
            $('#DateForm').modal('show');
            $("#EndDate").val(start.format('ddd, DD-MMM-YYYY, hh:mm a'));
          } else {
          }
        }

【问题讨论】:

    标签: javascript jquery asp.net-mvc date fullcalendar


    【解决方案1】:

    我是这样解决的

    select: function (info) {
                
      end_date = new Date(info.end);
      $('#form-add-shift input[name="end_date"]').val(end_date.toISOString().slice(0, 10));
    },

    【讨论】:

      【解决方案2】:

      你可以这样做

            select: function (start, end, allDay, jsEvent, view) {
            var endDate = new Date(end);
            beforeDay = new Date(endDate.getFullYear(),endDate.getMonth(),endDate.getDate() - 1);
            $("#EndDate").val(beforeDay.format('ddd, DD-MMM-YYYY, hh:mm a'));
           }     
      

      【讨论】:

        【解决方案3】:

        您看到的是正确的、记录在案的行为。事件的“结束”属性的文档说明:

        活动结束的独家日期/时间。 [...] 这是事件结束后立即的时刻。 例如,如果活动的最后一整天是星期四,则 活动独家结束时间为星期五 00:00:00!

        请参阅https://fullcalendar.io/docs/event-object 了解更多信息。


        附:上面代码中的 var view = $('#calendar').fullCalendar('getView'); 行是多余的 - 您已经可以通过回调中的同名参数访问视图。您可以删除此行,代码将继续工作。

        【讨论】:

        • 您知道如何减去日期以便显示正确的日期吗?我尝试删除该行,但它没有工作
        • 这 是 fullCalendar 为活动提供的正确结束日期。如果您报告另一个日期,从技术上讲,它不会是正确的日期。但是,您可以使用 momentJS 的方法来操作显示日期:momentjs.com/docs/#/manipulating。
        • P.S.你绝对可以删除那条额外的线。我注意到这个问题,如果你为“select”回调发明了一个额外的“allDay”回调参数,那么“view”参数不会在你的版本中填充。应该在“视图”中的值在“jsEvent”中。您不能只将额外的变量添加到调用者不会提供的回调中。在此处查看它的工作原理:jsfiddle.net/sbxpv25p/308 并查看 fullcalendar.io/docs/select-callback 以了解回调中参数的正确定义
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-19
        • 2016-02-03
        相关资源
        最近更新 更多