1. 程式人生 > 程式設計 >簡單瞭解JAVA SimpleDateFormat yyyy和YYYY的區別

簡單瞭解JAVA SimpleDateFormat yyyy和YYYY的區別

最近有一個功能是對輸入的日期格式化,設計給出的範例是 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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。