Home > blog > java.util.Calendar#getActualMaximum()

java.util.Calendar#getActualMaximum()

  • 2011-04-24 Sunday 00:40
  • Posted by d9

業務アプリケーションを作っていると月末の処理のために最終日を取ってくるコードを書くことが多いのですが、既存システムが駄目な実装をしていることが多くて泣けてくると。

ループでローカル変数に値を保持しつつDateFormatをかけまくって年月が変わったら保持していた変数を返す
考える時間がないから無理やり解くと。それをコピペする悪循環。新人が作るのはいいが、教育係は注意しろよ。
閏年まで考慮しているらしい凄い条件分岐で処理
本当に正しいの?
Oracleのlast_day()を使うためにDBにアクセスする。
正解といえば正解ですが無駄が多い。あとOracle以外のDBになって質問にくるのはやめて。

私は自作するなら翌月1日から-1日を加算するのが妥当だと思うのですが、JavaだとCalendarにgetActualMaximumというメソッドがあるんですね。専業でないとはいえ、Javaはもう10年近く使っているのに知りませんでしたよ。まあ、あんまり使い道は思い付きませんが、新人さんに教える時に使えそうなのでメモっておきます。

Comments:0

Comment Form
Remember personal info

Home > blog > java.util.Calendar#getActualMaximum()

Search
Feeds
Meta

Return to page top