错误的日期正在打印

时间:2017-12-06 15:50:46

标签: java calendar simpledateformat

我试图简单地传递一个日期并使用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

1 个答案:

答案 0 :(得分:1)

mm只需几分钟,请使用MMDateFormat format = new SimpleDateFormat("dd-MM-yyyy");