对不起 这是程序的要求
出错的地方在这里
我要计算自己的年龄 但却不知道怎么取出 当前日期
我感觉我的方法对阿
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();
}
}但输出的结果却不对 是怎么回事
出错的地方在这里
我要计算自己的年龄 但却不知道怎么取出 当前日期
我感觉我的方法对阿
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();
}
}但输出的结果却不对 是怎么回事
Date date = new Date();
这样得到的date就是当前日期。
* 取得系统当前日期
* @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
//这个Calendar类定义的,所以说你输出的是1-1981=-1980
得到当前年份的应该是
int k = date.getYear()+1900; //+1900是因为纪年法问题
cal.setTime(new Date());
cal.get(Calendar.Year)得到的就是当前的年
int year= cal.get(cal.YEAR);