计算两天之间的差额(减去方法)

时间:2019-08-10 11:31:51

标签: java grails groovy

我有两个约会:

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
}

非常感谢您!

1 个答案:

答案 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