要麼我不明白的方法getActualMaximum(int)
或字段WEEK_OF_YEAR,或有太陽錯誤(或所有三個)...有人可以向我解釋爲什麼(至少在德語語言環境 ...)下面的代碼:Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR)怪異
Locale.setDefault(Locale.GERMAN);
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2010);
c.set(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
System.out.println("max: "+c.getActualMaximum(Calendar.WEEK_OF_YEAR));
System.out.println("actual: "+c.get(Calendar.WEEK_OF_YEAR));
產生以下輸出:
max: 52
actual: 53
這裏是getActualMaximum(int)
的Javadoc:
返回給定此日曆的時間值的指定日曆字段可能具有的最大值 。 例如,MONTH字段的實際最大值 在某些 年是12,在其他年份是在希伯來語日曆系統的 。
編輯
情節複雜。 在英語語言環境(-Duser.language=en -Duser.country=us
)輸出爲:
max: 52
actual: 1
似乎指向它是一個Sun錯誤德語語言環境?
天從1開始,但幾個月從零開始? – 2010-01-12 08:48:29
呃是的。信不信由你。 :) – Epaga 2010-01-12 08:51:15