minato128 blog

minato128の公開メモ帳です。

末日の取得

最初Calendarの対象の翌月を1日にセットしてaddDay(-1)みたいやるのかと思っていたけど、
フィールドの最大値を取得するメソッド[getActualMaximum]があるみたい。
でもgetInstanceしてから年月だけセットして使うと、バグの原因になるみたいだから、
必ず開始日(1日)をセットして使う。


参考
http://virus.okwave.jp/qa4062925.html
http://d.hatena.ne.jp/takeR/20060629/1151568644
Util化しておくのが無難かな。

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.YEAR, 対象年);
cal.set(Calendar.MONTH, 対象月);
int matsubi = cal.getActualMaximum(Calendar.DAY_OF_MONTH);