日期不是比较

时间:2013-04-07 08:17:52

标签: java android date

我想在我的Android应用程序中比较日期,但事实并非如此。它始终为空。

这是我的代码。

        GregorianCalendar startdate = new GregorianCalendar(2012, 3, 3, 0, 00);
        GregorianCalendar enddate = new GregorianCalendar(2012, 3, 4, 0, 00);

        for (int i = 0; i < newdate.length; i++) {
            try {
                SimpleDateFormat formatter = new SimpleDateFormat(
                        "MM/dd/yyyy k:mm");
                d[i] = formatter.parse(newdate[i]);

                if (startdate.equals(d[i])) {

                    startPoint = i;

                }
                if (enddate.equals(d[i])) {

                    endPoint = i;

                }

                // val2[i]=
                // DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").parse
            } catch (Exception e) {
                // TODO: handle exception
            }

        }

startPoint和endpont始终为null。在这种情况下我不能使用相同的方法吗?

谢谢

1 个答案:

答案 0 :(得分:5)

您正在使用GregorianCalendar#equals()进行检查,因为d[i]的类型(即Date)没有相等性(GregorianCalendar不能等于Date )。

快速修复(未经测试):

if (startdate.getTime().equals(d[i])){
    startPoint=i;
}