try {
String hql = "SELECT taskDate FROM TaskFutureDates t WHERE t.taskId= : taskId";
List<java.sql.Date> result = em.createQuery(hql).setParameter("taskId", taskId).getResultList();
java.sql.Date currentDate =new Date(new java.util.Date().getTime());
if (result.size() != 0) {
for(java.sql.Date date: result) {
if(date.compareTo(currentDate)>=0) {
System.err.println("CAST= "+(Date) date);
return (java.sql.Date) date;
}
}
}
} catch (Exception e) {
// TODO: handle exception
//System.err.println(e);
}
return null;
}
当我比较两个日期时,我遇到了错误场景
1.当我比较其他日子时,我得到-1
例如
2020年9月4日
2020年10月4日
- 当日期相同时我得到-1
例如
2020年10月4日
10/04/2020
在第二种情况下,我应该得到0,为什么结果是-1?
最佳答案
来自compareTo文档:
a value less than 0 if this Date is before the Date argument
today()(= 上个午夜)或表中的任何日期可能都小于 now()(包括当前时间)
关于java - Java 中的相同日期比较返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61118805/