@Test
public void test06(){
Calendar calendar=Calendar.getInstance();
calendar.set(2019,Calendar.DECEMBER,31);
Date time = calendar.getTime();
System.out.println(time);
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("YYYY-MM-dd");
System.out.println(simpleDateFormat.format(time));
}
运行结果为:
Tue Dec 31 17:26:07 CST 2019
2020-12-31
原因:
因为YYYY是基于周来计算年的,它指向当天所在周属于的年份,一周从周日开始算起,周六结束,只要本周跨年,那么这一周就算下一年。正确姿势应该用yyyy。
@Test
public void test06(){
Calendar calendar=Calendar.getInstance();
calendar.set(2019,Calendar.DECEMBER,31);
Date time = calendar.getTime();
System.out.println(time);
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(simpleDateFormat.format(time));
}
输出结果为:
Tue Dec 31 17:31:20 CST 2019
2019-12-31