java - Grails - 两个日期之间的差异

标签 java grails groovy date-format simpledateformat

我想要两个日期之间的差异,即 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()

关于java - Grails - 两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677963/

相关文章:

java - 如何在 Java 的 TreeMap 中检索具有最大值的键?

Java JPanel JFrame 获取高度和宽度

java - Android/Java/向 GoogleMaps FragmentActivity 添加自定义 View

grails - 常规闭包继承

gradle - 我如何在 Spock 中运行一个特定的规范?与 GEB 和 gradle 一起使用

java - 如何使用 maven-jar-plugin 和 groovy 构建可执行 jar?

java - 字节值与十六进制的比较

grails - Grails formRemote禁用的字段内容不会作为GSP的参数返回

grails - 删除 grails 中的 Controller 和域类

java - 无法使用 spring cli 命令启动groovy应用程序