我想在Java中使用Calender
获得前一天。我正在使用下面的代码。
Calendar now = Calendar.getInstance();
now.add(Calendar.DATE, -1);
now.add(Calendar.MONTH, -2);
MyDate = now.get(Calendar.MONTH) + "/" + now.get(Calendar.DATE) + "/" + now.get(Calendar.YEAR);
System.out.println(MyDate);
输出:2/31/2020
以上问题并非始终有效。如上所述,如果当前日期为03/01/2020
,则会获得以上结果。但是,Febraury不能具有31
。Calendar
lib中是否有选项可以处理此问题?
并且如果我在下面使用格式化,它会给出完全不同的值。
Calendar now = Calendar.getInstance();
now.add(Calendar.DATE, -1);
now.add(Calendar.MONTH, -2);
SimpleDateFormat df = new SimpleDateFormat("MM/DD/YYYY");
String MyDate= df.format(now.getTime());
System.out.println(MyDate);
输出:03/91/2020
您的日期格式不是您想要的。尝试以下操作:
Calendar now = Calendar.getInstance();
now.add(Calendar.DATE, -1);
now.add(Calendar.MONTH, -2);
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
String MyDate= df.format(now.getTime());
System.out.println(MyDate);