package com;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
//根据年月日计算年龄
public class AgeUtils {
public static String getAgeFromBirthTime(Date birthDay){
Calendar cal = Calendar.getInstance();
//得到当前时间的年月日
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DATE);
// 先截取到传入的年月日
cal.setTime(birthDay);
int paramYear = cal.get(Calendar.YEAR);
int paramMonth = cal.get(Calendar.MONTH)+1;
int paramDay = cal.get(Calendar.DAY_OF_MONTH);
//用当前的年月日减去出生年月日
int yearMinus = yearNow >= paramMonth ? yearNow - paramYear : 0;
int monthMinus = monthNow >= paramMonth ? monthNow - paramMonth : 0;
int dayMinus = dayNow >= paramDay ? dayNow - paramDay : 0;
String ageToMonth = "";
if(yearMinus > 0){
ageToMonth = String.valueOf(yearMinus) + "岁";
} else if((yearNow >= paramMonth) && monthMinus > 0){
ageToMonth = String.valueOf(monthMinus) + "月";
} else if((yearNow >= paramMonth) && (monthNow >= paramMonth) && dayMinus > 0){
ageToMonth = String.valueOf(dayMinus) + "天";
}
return ageToMonth;
}
public static void main(String[] args) {
String dateOfBirth = "2021-5-1";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
String age = getAgeFromBirthTime(sdf.parse(dateOfBirth));
System.out.println("age:"+age);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Java:根据年月日计算年龄
最新推荐文章于 2024-08-16 10:23:07 发布