我在比較兩個數據類型變量 - > java.sql.Date類型時發現了一些問題。在java中比較兩個日期類型變量
首先即時createing電流數據(YYYY-MM-DD):
java.util.Date date = new java.util.Date();
java.sql.Date dateSql = new Date(date.getTime());
Secoundly,從MySQL即時接收數據:
MyDataEntity myDataEntity = session.getNamedQuery(MyDataEntity.GET_ELEMENT).uniqueResult();
然後我試圖比較兩個日期:
if(dataSql != myDataEntity.getDate()){
System.out.println("different");
}else{
System.out.println("these same");
}
而效果是,總是這兩個日期不同。但是,當我打印的這兩個DATAS的價值觀,我有同樣的價值觀:
System.out.println(dataSql);
System.out.println(myDataEntity.getDate);
效果:
2012-11-16
2012-11-16
但是,我發現一個問題:
,如果我做:
long date1 = dateSql.getTime(); // print 1353106800000
long date2 = myDataEntity.getDate().getTime(); // print 1353234605091
那麼如何比較兩個日期(yyyy-mm-dd)?