600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > js方法-通过出生日期计算出当前年龄

js方法-通过出生日期计算出当前年龄

时间:2022-02-22 23:00:41

相关推荐

js方法-通过出生日期计算出当前年龄

/*** 通过出生日期获取当前年龄* @param strBirthday:指的是出生日期,格式为"1990-01-01",字符串类型*/function getCurrentAgeByBirthDate(strBirthday){// 将出生日期的字符串通过"-"分割成数组const strBirthdayArr = strBirthday.split("-")// 拿到出生日期的年const birthYear = strBirthdayArr[0]// 拿到出生日期的月const birthMonth = strBirthdayArr[1]// 拿到出生日期的日const birthDay = strBirthdayArr[2]// 创建一个时间对象const d = new Date()// 拿到当前时间的年const nowYear = d.getFullYear()// 拿到当前时间的月const nowMonth = d.getMonth() + 1// 拿到当前时间的日const nowDay = d.getDate()// 如果出生日期的年等于当前时间的年if(nowYear === birthYear) return 0 // 返回周岁年龄 0,并终止函数执行// 如果如果出生日期的年不等于于当前时间的年,则拿到年之差const ageDiff = nowYear - birthYear ; // 年之差// 如果年之差是个负数,则表示用户输入的出生日期错误,晚于今天,返回 -1,并终止函数执行if(ageDiff < 0) return -1 // 返回错误 -1,并终止函数执行// 如果年之差是个正整数,但出生日期的月与当前时间的月不相等if(nowMonth !== birthMonth){// 拿到出生日期的日与当前时间的月之差const monthDiff = nowMonth - birthMonth; // 月之差// 如果月之差是个负数,则年之差 - 1后得到周岁年龄,否则直接得到周岁年龄return monthDiff < 0 ? ageDiff - 1 : ageDiff // 返回周岁年龄,并终止函数执行}// 如果出生日期的月与当前时间的月相等,则拿到出生日期的日与当前时间的日之差const dayDiff = nowDay - birthDay;// 如果日之差是个负数,则年之差 - 1得到周岁年龄,否则直接得到周岁年龄return dayDiff < 0 ? ageDiff - 1 : ageDiff // 返回周岁年龄,并终止函数执行}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。