对不起 这是程序的要求
出错的地方在这里
我要计算自己的年龄 但却不知道怎么取出 当前日期
我感觉我的方法对阿 
import java.util.*;
public class HelloDate
{
HelloDate() 
{
int year=1981;
int k=Calendar.YEAR;
                   int l=k-year; System.out.println("年龄为:"+l);
}

public static void main(String[] args)
{
new HelloDate();
}
}但输出的结果却不对 是怎么回事

解决方案 »

  1.   

    当前日期直接用这个就可以得到
    Date date = new Date();
    这样得到的date就是当前日期。
      

  2.   

    给你两个函数,利用这两个函数可以轻松解决:  /**
       * 取得系统当前日期
       * @return 系统当前日期字符串
       */
      public static String getCurDate() {
        java.util.Date now = new java.util.Date();
        java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd");
        String curDate = dateFormat.format(now);
        return curDate;
      }  /**
       * 取得日期中的年
       * @param _date 给定日期
       * @return 字符串的年(4位)
       */
      public static String getYear(String _date) {
        String strYear = "", strMonth = "",  strDay = "";
        int year = 0, month = 0,  day = 0;    StringTokenizer strTkn = new StringTokenizer(_date, "-");
        if (strTkn.hasMoreTokens()) strYear = strTkn.nextToken();
        if (strTkn.hasMoreTokens()) strMonth = strTkn.nextToken();
        if (strTkn.hasMoreTokens()) strDay = strTkn.nextToken();    year = Integer.parseInt(strYear);
        month = Integer.parseInt(strMonth);
        day = Integer.parseInt(strDay);    if (strYear.equals(""))
           return "1900";
        return "" + year;
      }http://xieweibbs.topcitis.com
      

  3.   

    public static final int YEAR =1 ;
    //这个Calendar类定义的,所以说你输出的是1-1981=-1980
    得到当前年份的应该是
    int k = date.getYear()+1900; //+1900是因为纪年法问题
      

  4.   

    不明白  我只要把今年从系统日期中取出来就可以了别的我不管 而且我要用calendar这个函数
      

  5.   

    看看 date.getYear()这个函数是不主张用的 所以还是要用calendar
      

  6.   

    Calendar cal = Calendar.getInstane();
    cal.setTime(new Date());
    cal.get(Calendar.Year)得到的就是当前的年
      

  7.   

    Calendar cal = Calendar.getInstance();
     int year= cal.get(cal.YEAR);