医院的年龄计算是要求实岁,小于一年按月算,小于一天按天算
上菜
=======================
function getAge(birthday) { function MyDateObj(t) { return { nowY: parseInt(t.getFullYear()), nowM: parseInt(t.getMonth()) + 1, nowD: parseInt(t.getDate()) }; } var now = MyDateObj(new Date()); var br = MyDateObj(birthday); var y = now.nowY - br.nowY; var m = now.nowM - br.nowM; // 过滤虚岁 if (now.nowM - br.nowM < 0 || (now.nowM - br.nowM == 0 && now.nowD - br.nowD < 0)) { y--; m=m+12; } console.log("计算出来的年", y); // 大于一岁 if (y > 0) { return y + "岁"; } // 输出月 if (m < 0) { m + 12; } console.log("计算出来的月", m); if (now.nowD - br.nowD < 0) { m--; } if (m > 0) { return m + "月"; } // 输出天 var d = (new Date(`${now.nowY}/${now.nowM}/${now.nowD}`).getTime() - birthday.getTime()) / 1000 / 60 / 60 / 24; return d + "天"; } getAge(new Date('2020/07/31'));