1. 程式人生 > 實用技巧 >根據出生日期換算歲

根據出生日期換算歲

            getAge(strAge) {
                let birArr = strAge.split("-");
                let birYear = birArr[0];
                let birMonth = birArr[1];
                let birDay = birArr[2];
                d = new Date();
                var nowYear = d.getFullYear();
                var nowMonth = d.getMonth() + 1; //
記得加1 var nowDay = d.getDate(); var returnAge; if (birArr == null) { return false }; var d = new Date(birYear, birMonth - 1, birDay); if (d.getFullYear() == birYear && (d.getMonth() + 1) == birMonth && d.getDate() == birDay) {
if (nowYear == birYear) {//同年 則為0歲 returnAge = 0; } else { var ageDiff = nowYear - birYear; //年之差 if (ageDiff > 0) { if (nowMonth == birMonth) { var dayDiff = nowDay - birDay; //
//日之差 if (dayDiff < 0) { returnAge = ageDiff - 1; } else { returnAge = ageDiff; } } else { var monthDiff = nowMonth - birMonth; // //月之差 if (monthDiff < 0) { returnAge = ageDiff - 1; } else { returnAge = ageDiff; } } } else { return "出生日期晚於今天,資料有誤"; //返回-1 表示出生日期輸入錯誤 晚於今天 } } return returnAge; } else { return ("輸入的日期格式錯誤!"); } },