我有一个时间戳和日期变量,我想比较它们是否相等(当然只比较日期部分)。令我惊讶的是,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查询中将时间戳转换为日期,但我还需要一个时间戳表示。有没有更好的方法从时间戳中去除时间部分。
或者我可以在SQL查询中将时间戳转换为日期,但我还需要时间戳表示形式。有没有更好的方式从时间戳中删除时间部分?