2009/02/25

17歳教 どう書く?orgをといてみた

17歳教 どう書く?orgといてみた

def birth = new Date(args[0])
def seventeen = new Date("${birth.year+17}/${birth.format('MM/dd')}")
def today = new Date()

println "17歳と${today - seventeen}日"

def diff = { prop ->
    today[prop] - seventeen[prop]
}
def months = diff('year')*12 + diff('month')
def dates = diff('date')
if( dates < 0 ){
    months--
    dates += (new Date(today.year, today.month, 1) - 1).date
}
println "17歳と${months}月と${dates}日"


チョイメモ

java.util.DateX - java.util.DateY にて日付の差分が取れるのはさすがgroovy

groovyでは基本的にはSimpleDateFormatを使用せずとも日付の各種操作が可能になっている。(文字列を日付へ変換するときにはDate.parse、日付を文字列へ変換するときにはDate.format

 

0 件のコメント:

コメントを投稿