我正在尝试在 mongo 中保存 List< LocalDate > (只是没有时间的日期,采用 yyyy-MM-dd 格式), 在我的API完成dateList的计算后,我尝试将这些日期保存在MongoDB中。 保存后,我看到日期以 yyyy-MM-dd hh:mm:ss 格式保存,如下所示。
有人可以告诉我为什么会发生这种情况吗? 有没有办法将 LocalDate 保存为 yyyy-MM-dd 格式? 非常感谢。
我正在将 SpringJPA Mongo 与 springboot 和 Java 结合使用。
最佳答案
发生这种情况是因为 MongoDB 以 BSON 格式存储数据(请参阅 BSON spec )。
BSON 中没有 Date
的数据类型,只有 Timestamp
和 UTC Datetime
两者都存储为 64 位整数。 UTC 日期时间是自纪元以来的毫秒数,导致渲染时时间部分全为零。
如果您只想存储日期,则需要使用字符串类型。
如果问题在于数据的显示方式,您只需要一个不同的函数来将从 MongoDB 返回的时间戳转换为您想要使用的显示格式。
关于java - 如何在没有时间的情况下将LocalDate保存到MongoDB(为什么即使我只保存日期,mongo也会随时间保存日期)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60085664/