我想在我的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。在这种情况下我不能使用相同的方法吗?
谢谢
答案 0 :(得分:5)
您正在使用GregorianCalendar#equals()
进行检查,因为d[i]
的类型(即Date
)没有相等性(GregorianCalendar
不能等于Date
)。
快速修复(未经测试):
if (startdate.getTime().equals(d[i])){
startPoint=i;
}