Groovyによるうるう年チェック
はじめに
Javaによるうるう年チェック - お仕事の備忘録みたいなもの で画期的なうるう年判定を行っていた。
それは、
java.util.Calendar#getActualMaximum(Calendar.DAY_OF_YEAR)
を使うというもの。
この組み合わせで取得できるのは、その年の取りうる最大日数となるので、これが366日になる年はうるう年だと判定してよいことになる。
Groovyで実装してみる
Javaでの実装は引用元に任せるとして、Groovyで実装してみた。
- Groovyらしく、IntegerにisLeapYearメソッドを追加定義してみました
- getActualMaximum使うのも面倒だったので、12/31のDAY_OF_YEARを取得する戦略にしています
- 使い方は 2012.leapYear とかでOK*1
*1:2012.leapYear は 2012.isLeapYear() の略記法で、プロパティとしてアクセスしています。