首页 > 解决方案 > 使用 Nuxt 和 @nuxtjs/moment 获取两个日期之间的差异

问题描述

我是 Nuxt 的新手,当我使用此代码获取两个日期(用户输入日期和现在)之间的差异时遇到问题,但当输入日期为“2020-03-31”或“2020”时-01-30' 控制台显示NaN 年 NaN 月 NaN 日

如何解决这个问题?我究竟做错了什么?

我猜 Moment 模块中的月份从 0-11 开始,但我的月份输入是 1-12 或者有人可以给我看一个示例代码(获取不同的 2 个日期输出年份、月份、日期)

使用模块:https ://www.npmjs.com/package/@nuxtjs/moment

methods: {
    //example input format >>> date = '2020-08-21'
    calcDate(date){
      let nowDate = moment(new Date().toISOString().substr(0, 10).split('-'));
      let pickDate = moment(date.toString().substr(0, 10).split('-'));
      let dateDiff = moment.duration(nowDate.diff(pickDate));
      console.log(dateDiff.years() + ' years ' + dateDiff.months() + ' month ' + dateDiff.days() + ' day ')
    }

},

谢谢!

标签: javascriptvue.jsmomentjsnuxt.jsweb-frontend

解决方案


解析日期时可以提及日期格式

methods: {
    //example input format >>> date = '2020-08-21'
    calcDate(date){
      let nowDate = moment();
      let pickDate = moment(date.toString(), 'YYYY-MM-DD');
      let dateDiff = moment.duration(nowDate.diff(pickDate));
      console.log(dateDiff.years() + ' years ' + dateDiff.months() + ' month ' + dateDiff.days() + ' day ')
    }

},

推荐阅读