Java軟件低級錯誤(七):Calendar的錯誤使用

 
¨解讀

   Calendar從星期日開始到星期六爲一個週期,數字表示依次爲:1,2,3……7;MONTH的表示是從數字0開始,所以月份應該是該數字+1。所以我們在使用的時候一定要仔細的閱讀API文檔,避免類似的陷阱。

¨案例

    Calendar cal = Calendar.getInstance();        

    cal.set(1999, 12, 31); // Year, Month, Day        

    System.out.print(cal.get(Calendar.YEAR) + " ");    

   我們所期待程序打印的結果是 1999,可是程序打印的結果卻不是這樣.它將打印出來 2000。在 cal.set(1999, 12, 31)中, 將日曆設置成1999年第13個月的第31天,但是標準日曆中只會有12個月,所以 直接轉換爲下一年.因此我們打印出來的就是2000了。

   所以建議日期和星期使用Calendar的定義的常量以避免混淆。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章