最代码官方
2016-09-27 15:38:27
证
java根据出生年月日精确计算年龄的算法
今天项目中有个根据出生年月日,需要精确计算年龄的算法,找了半天才算有个正确的,分享出来给牛牛们成为自己java代码库的一部分算法。
public static int getAge(Date dateOfBirth) { int age = 0; Calendar born = Calendar.getInstance(); Calendar now = Calendar.getInstance(); if (dateOfBirth != null) { now.setTime(new Date()); born.setTime(dateOfBirth); if (born.after(now)) { throw new IllegalArgumentException("年龄不能超过当前日期"); } age = now.get(Calendar.YEAR) - born.get(Calendar.YEAR); int nowDayOfYear = now.get(Calendar.DAY_OF_YEAR); int bornDayOfYear = born.get(Calendar.DAY_OF_YEAR); System.out.println("nowDayOfYear:" + nowDayOfYear + " bornDayOfYear:" + bornDayOfYear); if (nowDayOfYear < bornDayOfYear) { age -= 1; } } return age; } public static void main(String[] args) throws Exception { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date mydate = myFormatter.parse("2013-09-29"); System.out.println(getAge(mydate)); }
运行截图
猜你喜欢
请下载代码后再发表评论
相关代码
最近下载
最近浏览
fesfefe LV13
2023年12月11日
lironggang LV38
2023年3月26日
浪里格朗 LV4
2023年1月31日
a263913 LV3
2022年3月31日
afxbfr LV5
2022年1月7日
2294470509 LV1
2021年12月9日
Mywang LV4
2021年11月19日
jachyn LV6
2021年6月12日
二进制2 LV3
2021年6月1日
2196316269 LV10
2021年2月24日