尝试在两个日期之间获得持续时间,但duration.months返回0.只有duration.days有效。我做错了什么?
import groovy.time.TimeCategory
def startDate = new Date()
def endDate
def duration
use(TimeCategory) {
endDate = startDate + 50.days
duration = endDate - startDate
}
println "$duration.days days but $duration.months months"
输出: 50天但0个月
答案 0 :(得分:0)
您希望它返回多少个月? 50/30 = 1.66,但这是30天的月份。
来自文档:http://docs.groovy-lang.org/latest/html/api/groovy/time/Duration.html
持续时间表示具有独立于的值的时间段 上下文。所以,虽然我们不能说一个月不知道多久 这一年和当月的名字,我们知道一天有多长 独立于日期。
本质上,Duration对象(在TimeCategory中返回的是日期减法)不知道它们是什么时候,它们是多长时间。