我有两个约会:
def lastRequestDate = "08-09-2019"
(MM-dd-yyyy)
和
def today = new Date().format('MM-dd-yyyy')
我正试图通过groovy minus方法来实现差异:
def lastRequestDate = "08-09-2019"
def today = new Date().format('MM-dd-yyyy')
def difference = today.minus(lastRequestDate)
println "difference: " + difference
但是我得到的不是今天的天数(1),而是今天的日期:08-10-2019
你能告诉我我在做什么错吗?
我看到了这样一种方法,但是我试图使用minus
方法来获取日期差。
use(groovy.time.TimeCategory) {
def duration = endDate – startDate
return duration.days
}
非常感谢您!
答案 0 :(得分:2)
尝试一下:
def format = 'MM-dd-yyyy'
def simpleDateFormat = new SimpleDateFormat(format)
def lastRequestDate = sdf.parse("08-09-2019")
def today = new Date()
def difference = today.minus(lastRequestDate)
println "difference: " + difference
其背后的原因基本上是@daggett所说的:
def today = new Date().format('MM-dd-yyyy')
没有返回实际日期,它以指定格式返回今天日期的字符串表示形式,因此您实际上是对该字符串而不是日期进行了操作
要使用minus
函数,您需要在2个日期上应用它,因此要使用SimpleDateFormat