我有一些带有 LocalDateTime 类型的日期时间字段的对象
保存前:
date=date=2019-12-18T09:27:20.939826
保存并从存储库中获取:
date=2019-12-18T09:27:20.939
如您所见,日期被截断。
这会导致单元测试中的对象不相同并导致断言失败。
处理这个问题的最佳方法是什么?又如何?
编辑:
配置:
spring:
data.mongodb:
uri: mongodb://localhost:27017/app-db-test
jackson:
serialization:
write_dates_as_timestamps: false
在 mongodb 中保存的日期时间:
ISODate("2019-12-18T09:27:20.939+0000")
最佳答案
解决方案:
设置日期字段时使用:
LocalDateTime.now(ZoneOffset.UTC).withNano(0)
在我的应用程序中,我引入了一个中心类“Clock”,我们可以从中获取当前时间:
Clock.time(ZoneOffset.UTC)
此类有助于提高可测试性,但也是调用 .withNano(0)
的地方。
关于java - mongodb,保存后截断日期时间中的毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59388683/