From 72c41a8bb4210d9c8f87be7b99ea7c180a5d40e9 Mon Sep 17 00:00:00 2001
From: luoyuanqiao <2376770955@qq.com>
Date: 星期四, 24 二月 2022 16:08:12 +0800
Subject: [PATCH] 党支部统计接口
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java | 145 +++++++++++++++++++++++++++++++----------------
1 files changed, 95 insertions(+), 50 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
index f37264e..d55983e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/AgeUtils.java
+++ b/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,54 +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));
- // 得到当前时间的年、月、日
- Calendar cal = Calendar.getInstance();
- int yearNow = cal.get(Calendar.YEAR);
- int monthNow = cal.get(Calendar.MONTH) + 1;
- int dayNow = cal.get(Calendar.DATE);
-
- // 用当前年月日减去生日年月日
- int yearMinus = yearNow - selectYear;
- int monthMinus = monthNow - selectMonth;
- int dayMinus = dayNow - selectDay;
-
- int age = yearMinus;// 先大致赋值
- if (yearMinus < 0) {// 选了未来的年份
- age = 0;
- } else if (yearMinus == 0) {// 同年的,要么为1,要么为0
- if (monthMinus < 0) {// 选了未来的月份
- age = 0;
- } else if (monthMinus == 0) {// 同月份的
- if (dayMinus < 0) {// 选了未来的日期
- age = 0;
- } else if (dayMinus >= 0) {
- age = 1;
- }
- } else if (monthMinus > 0) {
- age = 1;
- }
- } else if (yearMinus > 0) {
- if (monthMinus < 0) {// 当前月>生日月
- } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄
- if (dayMinus < 0) {
- } else if (dayMinus >= 0) {
- age = age + 1;
- }
- } else if (monthMinus > 0) {
- age = age + 1;
- }
- }
- return age;
- }
-
- 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(4, 6));
+ int selectDay = Integer.parseInt(birthTimeString.substring(6, 8));
// 得到当前时间的年、月、日
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
@@ -107,8 +65,95 @@
return getAgeFromBirthTime(birthTimeString);
}
+ public static String getAgeFormatBirthday(String brithday) {
+ if (StringUtils.isEmpty(brithday)) {
+ return "";
+ }
+ 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));
+ // 得到当前时间的年、月、日
+ Calendar cal = Calendar.getInstance();
+ int yearNow = cal.get(Calendar.YEAR);
+ int monthNow = cal.get(Calendar.MONTH) + 1;
+ int dayNow = cal.get(Calendar.DATE);
+
+ // 用当前年月日减去生日年月日
+ int yearMinus = yearNow - selectYear;
+ int monthMinus = monthNow - selectMonth;
+ int dayMinus = dayNow - selectDay;
+
+ int age = yearMinus;// 先大致赋值
+ if (yearMinus < 0) {// 选了未来的年份
+ age = 0;
+ } else if (yearMinus == 0) {// 同年的,要么为1,要么为0
+ if (monthMinus < 0) {// 选了未来的月份
+ age = 0;
+ } else if (monthMinus == 0) {// 同月份的
+ if (dayMinus < 0) {// 选了未来的日期
+ age = 0;
+ } else if (dayMinus >= 0) {
+ age = 1;
+ }
+ } else if (monthMinus > 0) {
+ age = 1;
+ }
+ } else if (yearMinus > 0) {
+ if (monthMinus < 0) {// 当前月>生日月
+ } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄
+ if (dayMinus < 0) {
+ } else if (dayMinus >= 0) {
+ age = age + 1;
+ }
+ } else if (monthMinus > 0) {
+ age = age + 1;
+ }
+ }
+ 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");
+ String birthTimeString = format.format(date);
+ return getAgeFromBirthTimes(birthTimeString);
+ }
+
public static void main(String[] args) {
- int age = getAgeFromBirthTime("1995-08-18");
- System.out.println(age);
+ String yese = "19980516";
+ String year = yese.substring(0, 4);
+ String month = yese.substring(4, 6);
+ String ri = yese.substring(6, 8);
}
}
--
Gitblit v1.7.1