java根据出生日期计算年龄】的更多相关文章

1.把出生日期字符串转换为日期格式. public static Date parse(String strDate) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.parse(strDate); } 2.计算年龄 public static int getAge(Date birthDay) throws Exception { Calenda…
/** * @author jerry.chen * @param brithday * @return * @throws ParseException * 根据生日获取年龄; */ public static int getCurrentAgeByBirthdate(String brithday) throws ParseException, Exception { try { Calendar calendar = Calendar.getInstance(); SimpleDateFo…
根据生日计算年龄可以通过Calendar实现.最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算不准,误差一天.所以还是老实判断年月日好了. // 根据生日计算年龄,判断了年月日,比简单的年份上计算更精准 public static int getAge(Date birthDay) throws Exception {         Calendar cal = Calendar.getI…
以前使用mysql不是很多,对mysql的函数也不是很熟悉,遇到这个问题第一时间百度搜索,搜索到这两种方法,这两种方法是排在百度第一条的博客. 方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一,作者也说出了缺陷,就是当日期为未来日期时结果为0,而不是负数:这里使用了5个函数和两个运算符. 方法二 SELECT DATE_FORMAT(NOW(), '%Y') - DATE_…
ORACLE数据库: ) KINGBASE数据库: DB2数据库: TIMESTAMPDIFF(,…
方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一,作者也说出了缺陷,就是当日期为未来日期时结果为0,而不是负数:这里使用了5个函数和两个运算符. 方法二 SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(b…
方法一: SELECT TRUNC(months_between(sysdate, birth)/12) AS age from mytable 方法二: select TRUNC((to_char(sysdate, 'yyyyMMdd') - to_char(birth, 'yyyyMMdd')) / 10000) as age from mytable 注:sysdate 为系统日期时间,birth 为表中出生日期字段 作者:itmyhome…
方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一缺陷,就是当日期为未来日期时结果为0,而不是负数:这里使用了5个函数和两个运算符. 方法二 SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(birthday…
select years,months,abs( trunc( newer_date- add_months( older_date,years*12+months ) ) ) days from (select trunc(months_between( to_date('20180625', 'yyyymmdd'), to_date('19960626', 'yyyymmdd') )/12) YEARS, mod(trunc(months_between(to_date('20180625'…