2つの日時の差を求める
日数
♪もういくつ寝るとお正月
groovy:000> new Date(new Date().year +1,0,1) - new Date() ===> 9
groovy:000> use( org.codehaus.groovy.runtime.TimeCategory) { new Date("2010/1/1 0:0:0") - new Date() }.days +1 ===> 9
年齢
今日は天皇誕生日ですね。1933/12/23生まれ
groovy:000> (int)(use( org.codehaus.groovy.runtime.TimeCategory) { new Date() - new Date("1933/12/23") }.days /365) ===> 76
27759 daysになってるから、yearsを使うと0になってしまう。
年に方法があるのか?
うーむよくわからん。。
生年月日から年齢を計算する簡単な計算式を使うとすると以下
groovy:000> (int)((20091223 - 19331223)/10000) ===> 76
時間
新年までの残り時間
現在 20:38です
groovy:000> diff = use( org.codehaus.groovy.runtime.TimeCategory) { new Date("2010/1/1 0:0:0") - new Date() }; diff.days*24 + diff.hours ===> 195
新年までの残り秒
groovy:000> diff = use( org.codehaus.groovy.runtime.TimeCategory) { new Date("2010/1/1 0:0:0") - new Date() }; diff.days*24*60*60 + diff.hours*60*60 + diff.minutes*60 + diff.seconds ===> 703307