我在比较两种数据类型 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();
然后我试图比较两个日期:
if(dataSql != myDataEntity.getDate()){
System.out.println("different");
}else{
System.out.println("these same");
}
结果是,这两个日期总是不同的。但是当我打印这两个数据的值时,我得到了这些相同的值:
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)?