我将使用MM/dd/yyyy格式 下面的代码应该给我“07/01/2017”,而是它给我“06/30/2017”,但如果我取消注释// cal.getTime();我得到“07/01/2017”日历没有给出正确的日期
有人可以解释这种行为。
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
Date date = new Date("04/02/2017");
cal.setTime(date);
System.out.println(date);
Calendar nQtStartDate = new GregorianCalendar(cal.get(Calendar.YEAR),
Calendar.JUNE, 30);
cal = nQtStartDate;
//cal.getTime();
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println(cal.getTime());
}
谢谢!这有帮助..但是nQtStartDate是一个新的时间对象,它没有被改变,如果你对它做了相同的操作,它仍然不会给我正确的日期。 –
“但”?应该显而易见,引用的段落适用于这种情况。它因为你设置了'cal = nQtStartDate;'而被改变了。 –