根据出生日期Date 计算年龄

根据出生日期计算年龄

public class DateGetAge
{
    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;
    }
}
时间: 2024-11-02 23:30:02

根据出生日期Date 计算年龄的相关文章

依据出生日期Date 计算年龄

依据出生日期计算年龄 public class DateGetAge { 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!"

在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在"D:\java"文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 myPackage 包中创建一个YMD类,该类具有计算今年的年份.可以输出一个带有年月日的字符串的功能.设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名.年龄.出生日期.程序使用YMD的方法来计算年龄. 主要考包的运用 用到java.util.Calendar

Mysql 根据出生日期计算年龄

最近因为业务要求需要根据出生日期计算年龄,在网上查了好多的方法,在这里总结一下. 网上的计算方法好多都提到了格里高利历法,特意去查了下资料,普及点知识. 格里高利历是公历的标准名称,是一种源自于西方社会的历法.它先由意大利医生.天文学家.哲学家.年代学家阿洛伊修斯·里利乌斯(Aloysius Lilius,约1519-1576) 与克拉乌(Christophorus Clavius)等学者在儒略历的基础上加以改革,后由教皇格里高利十三世于1582年颁布.而公元即"公历纪元",又称&qu

Java 计算年龄

1 public static String getAgeTxt(String birthTime,String beginTime,int level){ 2 if(StringUtils.isBlank(birthTime)||StringUtils.isBlank(beginTime)){ 3 System.out.println("参数中有空值!"); 4 } 5 6 int year = 0,month=0,day=0,hour=0; 7 8 Date birthDate =

java计算年龄

精确到天计算年龄 public static int getAgeByCardId(String card) throws Exception { Integer len = card.length(); if (len == CHINA_ID_MIN_LENGTH) { card = conver15CardTo18(card); } String birthDate = card.substring(6, 14); SimpleDateFormat sdf = new SimpleDateF

根据生日计算年龄

/*      * 根据生日计算年龄     */    public int age(String birthDate) {        SimpleDateFormat dft=new SimpleDateFormat("yyyy-MM-dd");        Date time = null;        //类型转换        try {            time=dft.parse(birthDate);        } catch (ParseExcept

java实现根据身份证计算年龄的两种方式

第一种(推荐使用): import org.apache.hadoop.hive.ql.exec.UDF; import java.util.Calendar; public class GetAge extends UDF { public String evaluate(String sfzjh){ if(sfzjh == null || "".equals(sfzjh) ){ return "身份证件号有误,无法计算年龄"; } if (sfzjh.lengt

iOS 获取当前时间以及计算年龄(时间差)

获取当前时间 NSDate *now = [NSDate date]; NSLog(@"now date is: %@", now); NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarU

java根据身份证计算年龄

/** * 根据身份证计算年龄 * * @param idcard * @return */ public static Integer idCardToAge(String idcard) { Integer selectYear = Integer.valueOf(idcard.substring(6, 10)); //出生的年份 Integer selectMonth = Integer.valueOf(idcard.substring(10, 12)); //出生的月份 Integer