值返回NaN

时间:2018-12-06 15:52:37

标签: javascript momentjs

我正在尝试返回日期之间的差额,但它一直返回NaN。

我有以下代码:

startDate = "11/30/2018";
presentDate = "12/6/2018";       
endDate = "12/30/2019";
var mstart = moment(startDate, "MM/DD/YYYY");
var mPresent = moment(presentDate, "MM/DD/YYYY");
var mEnd = moment(endDate, "MM/DD/YYYY");

var nextDate = moment({
        year: mPresent.year(), // get presentDt's year
        month: mPresent.month(), // get presentDt's month
        date: mEnd.add(1, 'day').date() // get endDt day of the month and add 1 day to it
    });

    var TESTING = nextDate;
    var end1date = mEnd;

    var array = [];
    var i = 0;
    while (1 === 1) {
      var nextStart = TESTING.clone().add(i, 'M');
      var nextEnd = TESTING.clone().add(i + 1, 'M') > end1date ? end1date : TESTING.clone().add(i + 1, 'M');
      array.push(nextEnd.diff(nextStart, 'days'));
      if (nextEnd >= end1date) {
          break;
      }
      i += 1;
    }

console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

我在这里做错了什么?它返回日期,但是,我的屏幕崩溃了。任何帮助表示赞赏。谢谢。

更新:nextDate返回为NaN。我有2.22.2脚本,但无法在本地计算机上运行。

正在从日期选择器中选择日期,我不确定这是否就是为什么不能正确设置它的原因。如果日期从moment(startDate, "MM/DD/YYYY")moment(startDate).format("MM/DD/YYYY");不再更改无效的日期,但是我无法设置nextDate。

enter image description here

0 个答案:

没有答案