如何在Android应用程序上找到差异两个日期

时间:2012-10-15 09:01:43

标签: android date

  

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

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

2 个答案:

答案 0 :(得分:20)

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以获取更详细的示例

答案 1 :(得分:1)

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

<强>更新 您可以使用Joda库来执行相关的日期和时间计算,就像您需要的那样。