我试图简单地传递一个日期并使用simpledateformat解析它。但是,不是打印正确的值,而是打印错误的日期。
public static void main(String[] args) {
getAge("29-02-2016");
}
public static void getAge(String dob1) {
DateFormat format = new SimpleDateFormat("dd-mm-yyyy");
try {
Date dob = format.parse(dob1);
System.out.println(dob);
Calendar realDob = Calendar.getInstance();
realDob.setTime(dob);
System.out.println(realDob.get(Calendar.YEAR));
Calendar today = Calendar.getInstance();
int age = today.get(Calendar.YEAR) - realDob.get(Calendar.YEAR);
if(age >=18) {
System.out.println("18 years");
} else {
System.out.println("Underage");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
打印:Fri Jan 29 00:02:00 IST 2016
但应该是February
答案 0 :(得分:1)
mm
只需几分钟,请使用MM
:DateFormat format = new SimpleDateFormat("dd-MM-yyyy");