我正在根据dueDate
字段与当前日期的比较来设置颜色字段。 dueDate
是SQL日期类型。我的问题是,当我通过当前日期Calendar.before()
方法表示日期在当前日期之前。我的代码是:为什么Calendar()方法在相同日期返回true
private String getDateDueColor(Date dateDue) {
Calendar today = Calendar.getInstance();
today.setTime(new java.sql.Date(Calendar.getInstance().getTime().getTime()));
Calendar dueDate = Calendar.getInstance();
dueDate.setTime(dateDue);
if(dueDate.before(today)){
return RED;
}else{
return NORMAL;
}
}
我设置一个断点,并比较dueDate
和today
和所有在cdate
字段中的信息为每个对象看起来完全相同,但仍dueDate.before(today)
返回true。任何帮助,将不胜感激!
dateDue的值是什么 – SDS
'Calendar.getInstance().getTime()。getTime()'是一个不必要的冗长和神秘的做'System.currentTimeMillis()'的方法。 – VGR
我在StackOverflow文章中发现了Calendar.getInstance()。getTime()。getTime()。感谢更短的版本。 – ponder275