util-caleAge 计算年龄

util 以备不时之需

   public static int caleAge(String birthDateStr) throws ParseException {
        return caleAge(birthDateStr, null);
    }

    public static int caleAge(String birthDateStr, String deathDateStr) throws ParseException {
        Date end = new Date();
        DateFormat df = new SimpleDateFormat("yyyyMMdd");
        if (StringUtils.hasText(deathDateStr)) {
            end = df.parse(deathDateStr);
        }
        Calendar cal = Calendar.getInstance();
        cal.setTime(end);
        int endYear = cal.get(Calendar.YEAR);
        int endMonth = cal.get(Calendar.MONTH);
        int endDay = cal.get(Calendar.DAY_OF_MONTH);

        Date start = df.parse(birthDateStr);
        cal.setTime(start);
        int startYear = cal.get(Calendar.YEAR);
        int startMonth = cal.get(Calendar.MONTH);
        int startDay = cal.get(Calendar.DAY_OF_MONTH);
        int age = endYear - startYear;
        if (endMonth < startMonth) {
            age--;
        }
        if (endMonth == startMonth && endDay < startDay) {
            age--;
        }
        return age;
    }

上一篇:ROS文件系统与通信架构


下一篇:C++ - 类中默认成员函数