zoukankan      html  css  js  c++  java
  • 出生日期,计算年龄工具类

    /**
     * <p>年龄计算工具类</p>
     *
     * @author wangjs34383
     * @date 2020/12/23
     */
    
    public class BirthdayUtil {
    
        public static int getAgeByBirth(Date birthDay) throws ParseException {
            int age = 0;
            Calendar cal = Calendar.getInstance();
            //出生日期晚于当前时间,无法计算
            if (cal.before(birthDay)) {
                throw new IllegalArgumentException(
                        "The birthDay is before Now.It's unbelievable!");
            }
            //当前年份
            int yearNow = cal.get(Calendar.YEAR);
            //当前月份
            int monthNow = cal.get(Calendar.MONTH);
            //当前日期
            int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
            cal.setTime(birthDay);
            int yearBirth = cal.get(Calendar.YEAR);
            int monthBirth = cal.get(Calendar.MONTH);
            int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
            //计算整岁数
            age = yearNow - yearBirth;
            if (monthNow <= monthBirth) {
                if (monthNow == monthBirth) {
                    //当前日期在生日之前,年龄减一
                    if (dayOfMonthNow < dayOfMonthBirth) {
                        age--;
                    }
                } else {
                    //当前月份在生日之前,年龄减一
                    age--;
                }
            }
            return age;
        }
    }
  • 相关阅读:
    转载-如何高效的学习技术
    Lc176-第二高的薪水
    Lc4-寻找两个有序数组的中位数
    Lc175-组合两个表
    Lc3-无重复字符的最长子串
    Lc2-俩数相加
    Lc1- 两数之和
    jpa-子查詢
    20191225页面样式
    leetcode二刷结束
  • 原文地址:https://www.cnblogs.com/w1440199392/p/15201165.html
Copyright © 2011-2022 走看看