Java里YYYY年份格式带来的bug问题
2020/02/04 来源:乐潮信息
YYYY是表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
以正常的代码来演示重现使用YYYY会出现的bug
SimpleDateFormat formatter1 = new SimpleDateFormat("YYYY");
String dateString1 = formatter1.format(new Date(1577781426000L));//时间为2019-12-31 16:37:06
System.out.println(dateString1);
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy");
String dateString2 = formatter2.format(new Date(1577781426000L));//时间为2019-12-31 16:37:06
System.out.println(dateString2);
所以如果使用YYYY转换时间格式的时候,平常使用不会出现问题,但是一到跨年就会出现这种问题,比如正常时间是2019-12-31 16:37:06使用YYYY转换会出现2020-12-31 16:37:06的时间。