关于前端:计算两个日期相差多少年月日

36次阅读

共计 758 个字符,预计需要花费 2 分钟才能阅读完成。

计算规定为:一月为 30 天,一年为 360 天
办法入参为两个日期相差的天数(number 型)

// 两个日期相差多少年月日
    dataDiff(daystotal){
      let backdata = '';
       if(daystotal<30){backdata = daystotal+'天'}else if(daystotal>=30 && daystotal<360){let months = Math.floor((daystotal)/30)+'月';
        let days="";
        if((daystotal)%30){days = (daystotal)%30+'天'
        }
        backdata = months+days
      }else if(daystotal>=360){let years = Math.floor((daystotal)/360)+'年';
        let months ='';
        if((daystotal)%360){months = this.dataDiff((daystotal)%360)
        }
        backdata = years+months
      }
      return backdata
    }

另附 moment 计算两个日期相差天数的办法:


let totaldays = moment(endTime).diff(moment(startTime), 'days')  
//  开始工夫和完结工夫的时间差,以“天”为单位
//  endTime 和 startTime 都是毫秒数(new Data().getTimes())

this.dataDiff(360);
// 1 年
this.dataDiff(405);
// 1 年 1 月 25 天
this.dataDiff(385);
// 1 年 25 天
this.dataDiff(355);
//11 月 25 天
this.dataDiff(55);
// 1 月 25 天
this.dataDiff(25);
//25 天

正文完
 0