在下面的代码中,只有年份会添加到我的日期。几个月没有增加。
{{1}}
答案 0 :(得分:0)
您在此处使用的格式:
licenseDate.format('mm/dd/yyyy')
表示(minute in hour)/(day of month)/(year)
。它应该是
licenseDate.format('MM/dd/yyyy')
相反,因为MM
代表一年中的月份。您负责添加年份和月份的代码是正确的,您只会错过格式化并以正确的格式显示日期。
看看下面的例子:
import groovy.time.TimeCategory
def calculateLicense(Date bd, int yr, int mon = 0) {
use(TimeCategory) {
Date licenseDate = bd + yr.years + mon.months
println "License date:" + licenseDate.format('MM/dd/yyyy')
}
}
calculateLicense(Date.parse("yyyy-MM-dd", "2018-06-06"), 2, 3)
calculateLicense(Date.parse("yyyy-MM-dd", "2018-06-06"), 2)
输出:
License date:09/06/2020
License date:06/06/2020