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
————————————————
版權聲明:本文為CSDN博主「加班加班到天明」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/bewilderment/article/details/48391717


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM