如何在没有时间的情况下将 LocalDate 保存到 MongoDB(为什么即使我只保存日期,mongo 也会随时间保存日期)?

U C*_*U C 4 java mongodb spring-data-jpa spring-data-mongodb localdate

我试图在 mongo 中保存List< LocalDate >(只是yyyy-MM-dd格式的没有时间的日期),在我的 API 完成 dateList 的计算后,我试图将这些日期保存在 MongoDB 中。保存后,我看到日期以yyyy-MM-dd hh:mm:ss格式保存,如下所示。

在此处输入图片说明

有人可以让我知道为什么会这样吗?有没有办法只以 yyyy-MM-dd 格式保存 LocalDate?非常感谢。

我将 SpringJPA Mongo 与 springboot 和 Java 一起使用。

Joe*_*Joe 6

这是因为 MongoDB 以 BSON 格式存储数据(请参阅BSON 规范)。

在 BSON for 中没有数据类型,Date只有Timestamp并且UTC Datetime两者都存储为 64 位整数。UTC 日期时间是自纪元以来的毫秒数,导致时间部分在呈现时全部为零。

如果只想存储日期,则需要使用字符串类型。

如果问题是数据的显示方式,您只需要一个不同的函数来将从 MongoDB 返回的时间戳转换为您想要使用的显示格式。