有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有两个约会:

def lastRequestDate = "08-09-2019"(年月日)

def today = new Date().format('MM-dd-yyyy')

我试图通过groovyminus方法获得不同之处:

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

  1. # 1 楼答案

    试试这个:

    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函数,需要在两个日期应用它,因此使用SimpleDateFormat