6

可能重复:
在java中计算日期/时间差

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

4

2 回答 2

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

于 2012-10-15T09:03:19.540 回答
1

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

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

于 2012-10-15T09:16:05.943 回答