2 つのデータ型 Variable -> java.sql.Date 型の比較でいくつかの問題が見つかりました。
まず、現在のデータ (yyyy-mm-dd) を作成しています:
java.util.Date date = new java.util.Date();
java.sql.Date dateSql = new Date(date.getTime());
次に、MySQL からデータを受信しています。
MyDataEntity myDataEntity = session.getNamedQuery(MyDataEntity.GET_ELEMENT).uniqueResult();
次に、2 つの日付を比較しようとしています。
if(dataSql != myDataEntity.getDate()){
System.out.println("different");
}else{
System.out.println("these same");
}
その結果、これら 2 つの日付は常に異なります。しかし、これら 2 つのデータの値を出力すると、同じ値が得られます。
System.out.println(dataSql);
System.out.println(myDataEntity.getDate);
効果:
2012-11-16
2012-11-16
しかし、私は1つの問題を見つけました:
私が作る場合:
long date1 = dateSql.getTime(); // print 1353106800000
long date2 = myDataEntity.getDate().getTime(); // print 1353234605091
では、2 つの日付 (yyyy-mm-dd) を比較するにはどうすればよいでしょうか。