通过Long类型的出生日期算年龄
2024-09-02 04:32:05
package com.utils; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class BirthdayUtils {
public static Date parse(String strDate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.parse(strDate);
} //由出生日期获得年龄
public static int getAge(Date birthDay) throws Exception {
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay)) {
throw new IllegalArgumentException(
"The birthDay is before Now.It's unbelievable!");
}
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH);
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthDay); int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH);
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); int age = yearNow - yearBirth; if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
if (dayOfMonthNow < dayOfMonthBirth) age--;
} else {
age--;
}
}
return age;
} public static void main(String args[]) {
try {
Long time = 89974800000l;
Date date = new Date(time);
int age = BirthdayUtils.getAge(date);
System.out.println("age=="+age);
} catch (ParseException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} }
}
最新文章
- .net下MD5算法和加盐
- 解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)
- Katana概述
- BZOJ 2730: [HNOI2012]矿场搭建( tarjan )
- centos6.5 修改java环境变量
- python函数调用之自我调用与C++比较
- syslog - 日志文件详解
- Object Detection API 相关
- BZOJ2217 : [Poi2011]Lollipop
- nod32的内网在线更新设置
- [转]F5负载均衡名词LTM和GTM
- ORM 关系对象映射 基础知识点
- hsweb 企业后台管理基础框架
- Chapter 7 面向对象分析
- 位于/var/log目录下的20个Linux日志文件
- 529. Minesweeper
- Perl入门
- 用vue-wechat-title为微信动态设置标题
- Camera’s Depth Texture
- docker~环境变量到底怎么用