我有一个时间戳和日期变量,我想比较它是否相等(当然只有日期部分)。令我惊讶的是,构造函数 Date(long) 节省了时间部分,因此此代码无法正常工作:
date = resultSet.getDate(1);
timestamp = resultSet.getTimestamp(2);
//...
if (date.equals(new Date (timestamp.getTime())) ...
我用如下代码解决了这个问题:
DateFormat dateFormat = new SimpleDateFormat ("yyyyMMdd");
if (date.equals(dateFormat.parse(dateFormat.format(timestamp)))) ...
或者我可以在 sql 查询中将时间戳转换为日期,但我也需要时间戳表示。有没有更好的方法从时间戳中删除时间部分。