我一直在比较一些字段并想确认我的怀疑,尽管 LocalDateTime 字段可能“看起来”与转换后的时间戳相同的值,但它们真的不包含相同的值吗?
我正在使用以下方式写记录:
...
LocalDateTime ts = LocalDateTime.now();
pStmt.setTimestamp (19,Timestamp.valueOf(ts));
pStmt.setTimestamp (20,Timestamp.valueOf(ts));
a.createdt = ts;
a.lastupdt = ts;
后来我正在使用以下方法将相同的数据库记录读入另一个实例:
...
b.createdt = rs.getTimestamp("createdt").toLocalDateTime();
b.lastupdt = rs.getTimestamp("lastupdt").toLocalDateTime();
当我检查a.createdt == b.createdt
我是否得到false
. 当我将值打印为字符串时,它们看起来相同:"2016-03-21T23:40:38.700"
. 我是否正确,为了比较而保存在内存中的实际值有所不同?例如,数据库可能持有更多或更少的纳秒?或者转换为时间戳并返回会进行一些截断?
TIA