获取当前日期的代码:
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
Date now = new Date();
String strDate = sdfDate.format(now);
return strDate;
搜索日期和返回结果的代码
try
{
String x = cDate();
ps = conn.prepareStatement(fill);
rs = ps.executeQuery();
int count = 0;
while (rs.next()){
Date dDate = rs.getDate("recDate");
if (x.equals(dDate)){
System.out.println("True);
break;
}
else {
System.out.println("False");
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
下面的代码用于搜索名称并返回结果
try
{
string attendant = txtName.getText();
ps = conn.prepareStatement(fill);
rs = ps.executeQuery();
int count = 0;
while (rs.next()){
String bName = rs.getString("name");
if (attendant.equals(bName){
System.out.println("True);
break;
}
else {
System.out.println("False");
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
我设法得到我的第二个代码,即搜索名称并返回结果以正常工作。但是对于日期搜索,即使我在 SQL DB 中有 getDate() 也会导致错误。
我做了一个 System.out.println(x) 和 System.out.println(dDate) 来验证格式,但结果是正确的。
2013-01-17 2013-01-17
应该返回“真”
编辑:
java.util.Date now = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(now.getTime());
I replace (x.equals(dDate)) to (sqlDate == dDate) but the result still return as false, any idea?
请帮忙..
最后我得到了它..
解决方案
(Math.round(now.getTime() / 1000/3600/24) == Math.round(dDate.getTime() /1000/3600/24)