最近有一個功能是對輸入的日期格式化,設計給出的范例是 YYYY-MM-dd HH:mm:ss,於是我簡單驗證了一下是可以的,然后就這么在手冊里寫了。然后偶然發現有地方也用yyyy啊,這個到底有神馬區別啊,還是隨便用呢。看了下jdk,這么說的:
也就是說Y表示的是Week year,可是,這個Week year又是什么。。jdk文檔貼心地給出了Examples,然而並沒有什么卵用。。
經過試驗,得出的結果如下:Week year意思是當天所在的周屬於的年份,一周從周日開始,周六結束,只要本周跨年,那么這周就算入下一年,例如2010.12.26,日歷長成這樣:
12.26所在的周的最后一天是2011.1.1,這天屬於2011,所以2010.12.26的Week year就是2011,用YYYY做格式化,就會得到2011.12.26。
試驗代碼:
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// 2014-12-26
calendar.set(2010, Calendar.DECEMBER, 26);
Date strDate1 = calendar.getTime();
SimpleDateFormat f1 = new SimpleDateFormat("YYYY-MM-dd");
System.out.println("Result for YYYY: " + f1.format(strDate1));
SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Result for yyyy: " + f2.format(strDate1));
}
運行結果:
Result for YYYY: 2011-12-26
Result for yyyy: 2010-12-26
————————————————
版權聲明:本文為CSDN博主「加班加班到天明」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/bewilderment/article/details/48391717