大多開發人員以為YYYY與yyyy的效果沒什么區別。真實情況是存在區別的。
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的時間。
雖然是小問題,但也是需要預防的。