获取两天之间的差异(减法)

Get difference between two days (minus method)

我有两个约会对象:

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
}

非常感谢您!

试试这个:

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') 没有返回实际日期,它 returns 指定格式的今天日期的字符串表示形式,因此您实际上是在字符串而不是日期上应用操作

为了使用 minus 函数,您需要在 2 个日期应用它,因此使用 SimpleDateFormat