博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据生日,计算年龄
阅读量:6075 次
发布时间:2019-06-20

本文共 1136 字,大约阅读时间需要 3 分钟。

/**

* @function getAge
* @param birthday:用户孩子的生日
* @description 获取用户孩子的年龄(含年月日)
* @return DateVO:用户年龄
* @author maohuidong
* @date 2017-05-04
*/
public static DateVO getAge(String birthday){
DateVO dateVO = new DateVO();
Date birthDate = null;
try {
birthDate = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
} catch (ParseException e) {
e.printStackTrace();
}
//生日这天的日历
Calendar birthCalendar = Calendar.getInstance();
birthCalendar.setTime(birthDate);
//今天的日历
Calendar currentCalendar = Calendar.getInstance();
//计算年龄(含年月日)
Integer year = currentCalendar.get(Calendar.YEAR) - birthCalendar.get(Calendar.YEAR);
Integer month = currentCalendar.get(Calendar.MONTH) - birthCalendar.get(Calendar.MONTH);
Integer day = currentCalendar.get(Calendar.DAY_OF_MONTH) - birthCalendar.get(Calendar.DAY_OF_MONTH);
if (day < 0) {
month -= 1;
currentCalendar.add(Calendar.MONTH, -1);
day = day + currentCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
if (month < 0) {
month = (month + 12) % 12;
year--;
}
dateVO.setYear(year);
dateVO.setMonth(month);
dateVO.setDay(day);
return dateVO;
}

转载于:https://www.cnblogs.com/maohuidong/p/8056172.html

你可能感兴趣的文章
iOS 数组升序排列方法
查看>>
批流统一计算引擎的动力源泉—Shuffle机制的重构与优化
查看>>
给我十分钟!带你Flutter从入门到上天!!!
查看>>
AI居然也会作弊?CycleGAN神经网络的训练中出现新行为
查看>>
前端日刊君来也
查看>>
千呼万唤始出来!地平线即将发布第一代人工智能“中国芯”
查看>>
GMQ钱包为用户提供安全可靠、便捷高效的数字资产管理工具
查看>>
整合spring cloud云架构 --spring cloud分布式系统中实现分布式锁
查看>>
Java面试题-基础篇二
查看>>
成为一名Java架构师的必修课
查看>>
Two Sum
查看>>
开源大数据周刊-第58期
查看>>
POJO、PO、DO、VO、DTO等浅析
查看>>
学习JavaScript很吃力?开发五年经验带你轻松上路!
查看>>
准备把这里当作自己发出声音的地方
查看>>
微信小程序云开发实现一个社区 Demo(补充)
查看>>
Python自动抢红包,超详细教程,再也不会错过微信红包了!
查看>>
java高并发程序设计(二)多线程基础
查看>>
理解浏览器缓存以及304状态码
查看>>
react native之android多包共存解决方案
查看>>