java中的日历类给出不正确的输出



我试图根据用户使用calendar类输入的日期确定一天是否为周末。但是当我打印出当天的值时,我得到了不正确的输出。

这是我的代码:

public static void function(String newDate){
SimpleDateFormat myFormat = new SimpleDateFormat("dd/mm/yyyy");
Date date;
try {
date = myFormat.parse(newDate);
System.out.println(date);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println( cal.getTime());
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
System.out.println(Calendar.MONDAY);
System.exit(0);
} catch (ParseException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}

正在测试输入日期27/09/2021,这是星期一,但输出返回4而不是2

System.out.println( cal.getTime());  is outputting `Wed Jan 27 00:09:00 AEDT 2021` which is incorrect 

但是我认为问题出在date = myFormat.parse(newDate);这一行因为这也输出Wed Jan 27 00:09:00 AEDT 2021

newDate输出27/09/2021

您可以尝试实例化myFormat: -

SimpleDateFormat myFormat = new SimpleDateFormat("dd/MM/yyyy");

最新更新