Grails - 两个日期之间的差异

Grails - Difference between two dates

我想要两个日期之间的差异,即来自 gsp 表格和当前日期。从 gsp 开始,日期格式为 1994-05-19 00:00:00.0,而我使用 new Date() 作为当前日期,它以 Sun Feb 28 07:42:13 NPT 2016 的格式给出日期。我怎么能得到这些日期之间的差异。我的代码是:

int getAge(Date dateOfBirth){
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd")

    print(">>>><><><><<<<<<<<<<<<><><><><><><><><")
    print("date of birth");
    print(dateOfBirth)
    print(">>>><><><><<<<<<<<<<<<><><><><><><><><")
    print("current date")
    print(new Date())
    print(">>>><><><><<<<<<<<<<<<><><><><><><><><")

    Date currentDate = new Date()
    def cd = dateFormat.format(currentDate)

    String date = dateFormat.format(dateOfBirth)

    return 5;
}

我正在使用 java 7 和 grails 2.3.5

您可以通过简单地减去两个日期的 Unix 纪元值来获得两个日期之间的差异:

date1.getTime() - date2.getTime()

这将为您提供以毫秒为单位的差异,您可以将其转换为您想要的任何时间单位。结果的符号表示哪个日期在前,即如果为负数,则 date1 发生在 date2 之前。

编辑: 我看到您的方法正在寻找年龄,使用与您可以使用的相同的逻辑:date1.getYear() - date2.getYear()