現在の日付を取得するためのコード:
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);
}
名前を検索して結果を返すという2番目のコードを取得するように管理しました。しかし、日付検索に関しては、SQL DBにgetDate()がある場合でもfalseになります。
System.out.println(x)とSystem.out.println(dDate)を実行して形式を確認しましたが、正しいことがわかりました。
2013-01-17 2013-01-17
「True」を返す必要があります
編集:
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)