mitao
2025-05-20 179c4d64313c9b7572778da4aaaf6c6584fe457d
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
@@ -1,5 +1,8 @@
package com.panzhihua.common.utlis;
import cn.hutool.core.util.IdcardUtil;
import com.panzhihua.common.constants.Constants;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@@ -11,9 +14,9 @@
    // 根据年月日计算年龄,birthTimeString:"1994-11-14"
    public static int getAgeFromBirthTime(String birthTimeString) {
        // 先截取到字符串中的年、月、日
        int selectYear = Integer.parseInt(birthTimeString.substring(0,4));
        int selectMonth = Integer.parseInt(birthTimeString.substring(4,6));
        int selectDay = Integer.parseInt(birthTimeString.substring(6,8));
        int selectYear = Integer.parseInt(birthTimeString.substring(0, 4));
        int selectMonth = Integer.parseInt(birthTimeString.substring(4, 6));
        int selectDay = Integer.parseInt(birthTimeString.substring(6, 8));
        // 得到当前时间的年、月、日
        Calendar cal = Calendar.getInstance();
        int yearNow = cal.get(Calendar.YEAR);
@@ -63,20 +66,20 @@
    }
    public static String getAgeFormatBirthday(String brithday) {
        if(StringUtils.isEmpty(brithday)){
        if (StringUtils.isEmpty(brithday)) {
            return "";
        }
        String year = brithday.substring(0,4);
        String month = brithday.substring(4,6);
        String ri = brithday.substring(6,8);
        String year = brithday.substring(0, 4);
        String month = brithday.substring(4, 6);
        String ri = brithday.substring(6, 8);
        return year + "-" + month + "-" + ri;
    }
    public static int getAgeFromBirthTimes(String birthTimeString) {
        // 先截取到字符串中的年、月、日
        int selectYear = Integer.parseInt(birthTimeString.substring(0,4));
        int selectMonth = Integer.parseInt(birthTimeString.substring(5,7));
        int selectDay = Integer.parseInt(birthTimeString.substring(8,10));
        int selectYear = Integer.parseInt(birthTimeString.substring(0, 4));
        int selectMonth = Integer.parseInt(birthTimeString.substring(5, 7));
        int selectDay = Integer.parseInt(birthTimeString.substring(8, 10));
        // 得到当前时间的年、月、日
        Calendar cal = Calendar.getInstance();
        int yearNow = cal.get(Calendar.YEAR);
@@ -117,6 +120,29 @@
        return age - 1;
    }
    /**
     * 根据身份证号判断年龄段
     * @param idCard    身份证号
     * @return  年龄段(1.80-89周岁 2.90-99周岁 3.100周岁(含)以上)
     */
    public static int getAgeCategory(String idCard){
        int nub = -1;
        int age = 0;
        try {
            age = IdcardUtil.getAgeByIdCard(idCard);
        }catch (Exception e){
            return -1;
        }
        if (age >= Constants.EIGHTY && age < Constants.NINETY) {
            nub = 1;
        }else if (age >= Constants.NINETY && age < Constants.ONE_HUNDRED){
            nub = 2;
        }else if (age >= Constants.ONE_HUNDRED){
            nub = 3;
        }
        return nub;
    }
    public static int getAgeFromBirthTimes(long birthTimeLong) {
        Date date = new Date(birthTimeLong * 1000l);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
@@ -126,8 +152,8 @@
    public static void main(String[] args) {
        String yese = "19980516";
        String year = yese.substring(0,4);
        String month = yese.substring(4,6);
        String ri = yese.substring(6,8);
        String year = yese.substring(0, 4);
        String month = yese.substring(4, 6);
        String ri = yese.substring(6, 8);
    }
}