Java:日期差异

标签 java date

我正在使用 Java 处理日期。我正在找出两个日期之间的差异。

public static void main(String[] args) {
    final Date futDate = new GregorianCalendar(2012, 8, 15, 0, 0, 0).getTime();

    final Date currentDate = new GregorianCalendar().getTime();

    long diff = Math.round((futDate.getTime() - currentDate.getTime()) / 1000);

    System.out.println(diff / 86400 + " days");
    System.out.println((diff % 86400) / 3600 + " hrs");
    System.out.println(((diff % 86400) % 3600) / 60 + " mins");
    System.out.println((((diff % 86400) % 3600) % 60) % 60 + " secs");
}

输出:

31 days
8 hrs
37 mins
30 secs

即使日期差异小于一天,输出也超过 31 天。

最佳答案

8 不是当前月份数 :)

月份从0开始编号

Java 的日期很痛苦,所以我建议看一下 http://joda-time.sourceforge.net/

关于Java:日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949830/

相关文章:

Java/Eclipse 建议方法参数

MySQL - 根据日期/时间更新表

java - 检查 Date 对象和 Calendar 对象是否在同一个月的最有效方法

java - Android Gradle 将外部库和嵌套的外部库添加到项目中

Java FX MVC 多个 View

java - 确保多个数组长度相同的最佳方法

java - Mockito spy doReturn 不适用于父类(super class)方法

unix - Unix shell 脚本中的日期算术

date - 是否可以根据代表本地午夜的 UTC 时间计算本地日期?

java - 返回日期或日历字段