Java 根据出生日期计算年龄

1.把出生日期字符串转换为日期格式。

publicstaticDate parse(String strDate) throwsParseException {

        SimpleDateFormat sdf = newSimpleDateFormat("yyyy-MM-dd");

        returnsdf.parse(strDate);

    }

2.计算年龄

publicstaticintgetAge(Date birthDay) throwsException {

        Calendar cal = Calendar.getInstance(); 

        if(cal.before(birthDay)) { //出生日期晚于当前时间,无法计算

            thrownewIllegalArgumentException(

                    "The birthDay is before Now.It's unbelievable!");

        }

        intyearNow = cal.get(Calendar.YEAR);  //当前年份

        intmonthNow = cal.get(Calendar.MONTH);  //当前月份

        intdayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期

        cal.setTime(birthDay); 

        intyearBirth = cal.get(Calendar.YEAR);

        intmonthBirth = cal.get(Calendar.MONTH);

        intdayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);  

        intage = yearNow - yearBirth;   //计算整岁数

            if(monthNow <= monthBirth) {

            if(monthNow == monthBirth) {

                if(dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一

            }else{

                age--;//当前月份在生日之前,年龄减一

} } returnage; }

转载地址:https://www.cnblogs.com/fuchuanzhipan1209/p/9596614.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /** * 得到当前月的上一个月,返回2016-06这样的字符串 */ public stat...
    可爱傻妞是我的爱阅读 3,666评论 0 0
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,142评论 0 13
  • 3.Object类 所有引用类型的父类,除了它自己以外 Object类是所有类的父类? 如果有其他明显正确的答案,...
    两串大腰子阅读 3,085评论 0 1
  • 第05天API 今日内容介绍 ·Object类& System类 ·日期相关类 ·包装类&正则表达式 ·Date对...
    chcvn阅读 3,153评论 0 1
  • 抖音里很火的一首歌,不知为何听一遍就特别喜欢,夜深人静的时候,单曲循环百听不厌,可能是因为歌名像鸡汤,也可能是因为...
    从吾所好wy阅读 1,943评论 0 1