要求:
大於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<d2date){
let tempday1=d2date-d1date;
newAge=monthDiff+"個月"+tempday1+"天";
}else{
let tempday2=d2BeforeOneMonth-d1date+d2date;
newAge=monthDiff+"個月"+tempday2+"天";
}
}
}
}else{
newAge="出生日期選擇錯誤!";
}
}else{
newAge='';
}
return newAge;
}