1

我一直在比较一些字段并想确认我的怀疑,尽管 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

4

0 回答 0