■
どう書く?にうるう年か調べるやつを投稿してみた。理屈の部分は、C#の投稿から借りてきて、groovyに置き換えて投稿してみたけど、groovyなら、Dateクラスに拡張してしまうほうが、すっきりするような気がする。
Date.metaClass.define{ isLeapYear{ y = year+1900 ((y & 3) == 0) && (!("$y" ==~ /.*00$/) || ((y & 15) == 0)) } } println new Date("1900/1/1").isLeapYear() println new Date("2000/1/1").isLeapYear() println new Date("2008/1/1").isLeapYear() println new Date("2009/1/1").isLeapYear() println new Date("2100/1/1").isLeapYear()