比较两个日期并在android中获得结果

时间:2014-08-12 03:08:39

标签: android date compare

首先,有一个比较的基准日期

日期baseDate = dateFormat.parse(“2013-01-01”);

并且有一个事件日期列表可与基准日期进行比较,例如 Date date2 = dateFormat.parse(“2013-01-02”);

所以,我想得到比较结果(以天为单位),在这种情况下它是1.

如果

日期date3 = dateFormat.parse(“2012-12-31”);

然后,结果应为-1

我怎样才能实现这一目标?尝试baseDate .compareTo(date3)但它只返回true / false。谢谢你的帮助

3 个答案:

答案 0 :(得分:2)

另一种选择是在java.util.Date.getTime()个对象中调用Date,这会将Date作为毫秒值返回。你可以计算(date2.getTime() - baseDate.getTime()) / 24*60*60*1000

参考:https://developer.android.com/reference/java/util/Date.html#getTime()

答案 1 :(得分:1)

    String dateStart = "01/14/2014";
    String dateStop = "01/13/2014";

    Date d1 = null;
    Date d2 = null;
    SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");

    try {
        d1 = format.parse(dateStart);
        d2 = format.parse(dateStop);

        //in milliseconds
        long diff = d2.getTime() - d1.getTime();

        long diffDays = diff / (24 * 60 * 60 * 1000);

        System.out.print(diffDays + " days, ");
    }
    catch (Exception e){

    }

答案 2 :(得分:0)

java.util.Date具有符合Comparable接口的compareTo()函数。此方法返回一个整数。