web-dev-qa-db-ja.com

Groovyの2つの日付間の期間

Groovyに2つのDateオブジェクト間の期間を取得する方法はありますか?私が探している期間の形式は次のようなものになります:2日、10時間、30分...

ありがとう

33
RyanLynch

TimeCategory には、期間を取得するためのいくつかのメソッドがあります。あなたはそれを次のように使うことができます

use(groovy.time.TimeCategory) {
    def duration = date1 - date2
    print "Days: ${duration.days}, Hours: ${duration.hours}, etc."
}
57
ig0774

Use()構文は私には奇妙です。だから私はそれをこのように好みます:

def duration = groovy.time.TimeCategory.minus(
  new Date(),
  new Date(session.creationTime)
);
def values = [
            "seconds: " + duration.seconds,
            "min: " + duration.minutes,
            "hours: " + duration.hours,
            "days: " + duration.days,
            "ago: " + duration.ago,
];
7
Fusca Software