博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过出生日期获取年龄的方法--Java
阅读量:6956 次
发布时间:2019-06-27

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

项目中需要根据用户填写的出生日期获得用户的年龄,一般直接写成一个方法,然后调用方法进行计算比较省事。

下面介绍一种根据出生日期计算年龄的方法:

package com.hyhl.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class AgeUtil {     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 {                int  age = getAge(parse("2991-10-21"));                System.out.println("age=="+age);            } catch (ParseException e) {                e.printStackTrace();            } catch (Exception e) {                e.printStackTrace();            }                         }}

直接方法即可

package com.hyhl.util;

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;
public class AgeUtil {
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 {int  age = getAge(parse("2991-10-21"));System.out.println("age=="+age);} catch (ParseException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}             }}

转载于:https://www.cnblogs.com/wyf-love-dch/p/7483094.html

你可能感兴趣的文章
uva 10994 - Simple Addition
查看>>
团队作业4--第一次项目冲刺(Alpha版本)6
查看>>
python 主要模块和方法
查看>>
XPath手册 [源于ZVON]
查看>>
26:IPMaskCheck识别有效的ip地址和掩码并分类统计
查看>>
[Android]Thread线程入门4--多线程
查看>>
[20190423]那个更快的疑问3.txt
查看>>
[20170705]理解linux su命令.txt
查看>>
iOS - ImageCache 网络图片缓存
查看>>
如何调整eclipse中代码字体大小
查看>>
ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
查看>>
FQDN说明
查看>>
java基础---常用类!
查看>>
discuz论坛后台部分设置更改之后,清除了缓存网站前台不更新不生效的解决办法...
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 F Fantastic Graph(贪心或有源汇上下界网络流)
查看>>
关于js修改三种css样式的方法
查看>>
sofa
查看>>
控件绑定值“正则占位符取值”
查看>>
C#_集合与泛型集合
查看>>
Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)...
查看>>