使用Spring启动1.5.4.RELEASE
和Mongo驱动程序3.4.2
。在MongoDB中存储java 8 LocalDate
我想存储LocalDate
在mongo DB
,但我面临一个奇怪的问题。
LocalDate startDate = LocalDate.now();
LocalDate endDate = LocalDate.of(2020,12,01);
System.out.println("---- StartDate : ---"+startDate);
System.out.println("-----End Date : ----"+endDate);
repository.save(new Person("Mehraj","Malik", startDate, endDate));
输出上的控制台:
----开始日期:2017年8月26日---
-----结束日期:---- 2020-12 -01
但在MongoDb中它存储的日期不正确。
以下是从MongoDB的JSON的:
“的startDate”:ISODate( “2017-08-25T18:30:00.000Z”),
“结束日期”:ISODate(“2020- 11-30T18:30:00.000Z“)
此外,我已经注意到,根据印度时间储存的时间也是不正确的。
有人可以帮我在这里..为什么在控制台上的日期是正确的,但不是在MongoDB中,以及如何解决这个问题。
MongoDB存储UTC日期时间,LocalDate不包含时区 – Jerry06
Mongo Java客户端可以自由地表示您的日期对象。如果要存储字符串,则请改为 –
LocalDate忽略时间字段。他们没有定义。如果时间很重要,请使用LocalDate.atStartOfDay并在mongodb中存储日期时间 – thst