根据出生日期计算当前年龄

要求:

大于11岁:XX岁

大于等于18个月且小于11岁:xx岁xx月

小于18个月:xx月xx天

提示:输入的是一个moment对象

birthdayToAgeByYear(values){
    let date = this.getValue(values[0]);//moment对象
    let newAge="";
    if(moment.isMoment(date)){ //点击日历中的日期存在,否则会是空
        let d1=date;
        let d2=moment();   //当前时间
        let d2BeforeOneMonth=moment().subtract(1,"months").daysInMonth();
        if(d2>d1){
            let dayDiff=d2.diff(d1,"day");    //时间差:以日为单位
            let monthDiff=d2.diff(d1,"month");  //时间差:以月为单位
            let yearDiff=d2.diff(d1,"year");   //时间差,以年为单位
            let hourDiff=d2.diff(d1,"hour");    //时间差,以小时为单位
            if( yearDiff >= 11){
                newAge=yearDiff+"岁";
            }else if((yearDiff<11 )&& (monthDiff>=18)){
                let tempmonth=monthDiff%12;
                if(tempmonth==0){newAge=yearDiff+"岁";}else{
                    newAge=yearDiff+"岁"+tempmonth+"个月";}
            }else{
                if(monthDiff===0){
                    if(hourDiff<24){
                        newAge="今天出生";
                    }else{
                        newAge=dayDiff+"天";
                    }
                }else if(d1.date()==d2.date()){
                    newAge=monthDiff+"个月";
                }else{
                    let d2date=d2.date();
                    let d1date=d1.date();
                    if(d1date

 

你可能感兴趣的:(前端代码记录)