SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("YYYY-MM-dd");
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DATE,25);
//输出结果:yyyy-MM-dd=2021-12-25,YYYY-MM-dd=2021-12-25
System.out.println("yyyy-MM-dd="+simpleDateFormat.format(calendar.getTime())+",YYYY-MM-dd="+simpleDateFormat1.format(calendar.getTime()));
//输出结果:yyyy-MM-dd=2021-12-26,YYYY-MM-dd=2022-12-26
calendar.set(Calendar.DATE,26);
System.out.println("yyyy-MM-dd="+simpleDateFormat.format(calendar.getTime())+",YYYY-MM-dd="+simpleDateFormat1.format(calendar.getTime()));
从上面结果可以看出
2021年12月25日用yyyy-MM-dd及YYYY-MM-dd格式结果还是正确的,
但是在2021年12月26日用YYYY-MM-dd格式就变为2022年了,于是查资料得知YYYY是weak-based-year,表示:当天所在周所属的年份,一周从周日开始,周六结束(可从日历得知),所以在2021-12-26至2021-12-31用YYYY-MM-dd格式都是2022年。
所以,平时开发时使用yyyy-MM-dd这种格式进行时间转换!!!