知道出生日期,如何求年龄
比如1984年1月23日出生,求现在的年龄

解决方案 »

  1.   

    public static void getAge(String begin) throws Exception {
    SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
    Date d1 = s.parse(begin);
    Date d2 = new Date();
    int age = (int)Math.ceil((d2.getTime() - d1.getTime()) / 1000 / 60 / 60 / 24 / 365);
    System.out.println (age);
    }没考虑闰年
      

  2.   

    hvae a try    public static void getAge(String birthday) throws Exception {
            SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
            Date d1 = s.parse(birthday);
            Calendar c1 = Calendar.getInstance();
            Calendar c2 = Calendar.getInstance();
            c1.setTime(d1);
            int age = 0;
            for (; c1.before(c2); c1.add(Calendar.Year, 1), age++){
            }
            System.out.println (age);
        }
      

  3.   

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, 1984);Calendar cal2 = Calendar.getInstance();
    System.out.println(cal2.get(Calendar.YEAR)-cal.get(Calendar.YEAR));
      

  4.   

    Calendar提供了一系列计算时间、星期等的操作,建议使用Calendar,楼主参考4楼的代码,顺便熟悉一下Calendar 的API
      

  5.   

    public static void main(String[] args) {
    String begin = "1983-6-14";
    DateFormat format = new SimpleDateFormat("yyyy-mm-dd");
    Date date = null;
    try {
    date = format.parse(begin);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    Calendar c1 = Calendar.getInstance();
    c1.setTime(date);
    Date now = new Date();
    Calendar c2 = Calendar.getInstance();
    c2.setTime(now);
    System.out.println("出生于:"+c1.get(Calendar.YEAR)+"年");
    System.out.println("现在是:"+c2.get(Calendar.YEAR)+"年");
    int age = c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR);
    System.out.println("年龄:"+age+"岁");
    }console:
    出生于:1983年
    现在是:2009年
    年龄:26岁