js根据生日计算出年龄

时间:2023-02-05 15:04:31
  1. /*根据出生日期算出年龄*/
  2. function jsGetAge(strBirthday){
  3. var returnAge;
  4. var strBirthdayArr=strBirthday.split("-");
  5. var birthYear = strBirthdayArr[0];
  6. var birthMonth = strBirthdayArr[1];
  7. var birthDay = strBirthdayArr[2];
  8. d = new Date();
  9. var nowYear = d.getFullYear();
  10. var nowMonth = d.getMonth() + 1;
  11. var nowDay = d.getDate();
  12. if(nowYear == birthYear){
  13. returnAge = 0;//同年 则为0岁
  14. }
  15. else{
  16. var ageDiff = nowYear - birthYear ; //年之差
  17. if(ageDiff > 0){
  18. if(nowMonth == birthMonth) {
  19. var dayDiff = nowDay - birthDay;//日之差
  20. if(dayDiff < 0)
  21. {
  22. returnAge = ageDiff - 1;
  23. }
  24. else
  25. {
  26. returnAge = ageDiff ;
  27. }
  28. }
  29. else
  30. {
  31. var monthDiff = nowMonth - birthMonth;//月之差
  32. if(monthDiff < 0)
  33. {
  34. returnAge = ageDiff - 1;
  35. }
  36. else
  37. {
  38. returnAge = ageDiff ;
  39. }
  40. }
  41. }
  42. else
  43. {
  44. returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
  45. }
  46. }
  47. return returnAge;//返回周岁年龄
  48. }