时刻 js 2 日期差异显示为 NaN

moment js 2 dates difference showing as NaN

我正在尝试比较 2 个日期并找出 no.of 个月的差异。但我无法得到它。它在 console.log.

中给出 NaN

这是我的代码

        var interestStartDate = moment(createdAtMoment).format('YYYY, DD, MM') // (2020, 23, 05)
        var interestEndDate = moment().format('YYYY, DD, MM') // (2021, 06, 01)
        console.log('interestStartDate: ', interestStartDate) 
        console.log('interestEndDate: ', interestEndDate)
        console.log( moment(interestEndDate).diff(moment(interestStartDate), 'months', true))

console.log,显示如下

moment().format()结果是字符串,但是diff()moment的方法。

因此您应该删除 .format() 以使 interestStartDateinterestEndDate 类型成为 Moment 对象。

        var interestStartDate = moment(createdAtMoment)
        var interestEndDate = moment()
        console.log('interestStartDate: ', interestStartDate) 
        console.log('interestEndDate: ', interestEndDate)
        console.log( moment(interestEndDate).diff(moment(interestStartDate), 'months', true))

添加格式后有效。

            var interestStartDate = moment(createdAtMoment).format('YYYY, DD, MM')
            var interestEndDate = moment().format('YYYY, DD, MM')
            console.log('interestStartDate: ', interestStartDate)
            console.log('interestEndDate: ', interestEndDate)
            console.log(  moment(interestEndDate,'YYYY, DD, MM').diff(moment(interestStartDate, 'YYYY, DD, MM'), 'months', true))