如何在没有时间的情况下将 LocalDate 保存到 MongoDB(即使我只保存日期,为什么 mongo 会随时间保存日期)?
How to save LocalDate to MongoDB without time (why is mongo saving date with time even if i save just the date)?
我正在尝试将 List< LocalDate > 保存在 mongo 中(只是没有时间的日期 yyyy-MM-dd 格式),
在我的 API 完成 datesList 的计算后,我试图将这些日期保存在 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 返回的时间戳转换为您要使用的显示格式。
我正在尝试将 List< LocalDate > 保存在 mongo 中(只是没有时间的日期 yyyy-MM-dd 格式), 在我的 API 完成 datesList 的计算后,我试图将这些日期保存在 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 返回的时间戳转换为您要使用的显示格式。