【问题标题】:How to find difference two dates on android app [duplicate]如何在android应用程序上找到两个日期的差异[重复]
【发布时间】:2012-10-05 05:32:28
【问题描述】:

可能重复:
Calculate date/time difference in java

我是 Android 新手,我想为我制作一个新应用。我想使用 currentDate 减去两个日期(dd/mm/yyyy)格式。例如,我想找出 01/02/2013 和 currentDate 之间的天数差异。我该怎么做?

【问题讨论】:

    标签: android date


    【解决方案1】:
    SimpleDateFormat dfDate  = new SimpleDateFormat("dd/MM/yyyy");
        java.util.Date d = null;
        java.util.Date d1 = null;
        Calendar cal = Calendar.getInstance();
        try {
                d = dfDate.parse("01/02/2012 ");
                d1 = dfDate.parse(dfDate.format(cal.getTime()));//Returns 15/10/2012
            } catch (java.text.ParseException e) {
                e.printStackTrace();
            }
    
        int diffInDays = (int) ((d.getTime() - d1.getTime())/ (1000 * 60 * 60 * 24));
        System.out.println(diffInDays);
    

    查看Ex1Ex2 以获得更详细的示例

    【讨论】:

    • 01/02/2013 日期是修复日期,但我不想在我的代码中手动修复当前日期。我希望当我运行应用程序时,它会从系统中获取当前日期并计算差异。如何从系统中获取当前日期并在代码中修复?
    • 我改了代码,再检查一遍
    • 非常感谢。我希望它运行
    • 很好,伙计。享受这一天
    • 当我运行这段代码时,我遇到了空指针异常。为什么?
    【解决方案2】:

    您可以查看DateUtils,它提供了一些实用方法来计算两个日期之间经过的时间,但仅用于表示。不要使用直接方法在天/毫秒之间进行转换,因为它不考虑闰年、闰秒、夏季/冬季时间变化等。这些考虑由 Calendar 类处理。

    更新 您可以使用Joda 库来执行您需要的相对日期和时间计算。

    【讨论】:

      猜你喜欢
      • 2017-07-07
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多