Mongodb Spring数据以特定格式保存日期和时间
我不明白如何在MongoDB中以特定格式保存日期和时间,例如“eventDateFrom” 我试着这样做: 活动类别的一部分: 公开课活动{Mongodb Spring数据以特定格式保存日期和时间,mongodb,spring-boot,spring-data,spring-data-mongodb,Mongodb,Spring Boot,Spring Data,Spring Data Mongodb,我不明白如何在MongoDB中以特定格式保存日期和时间,例如“eventDateFrom” 我试着这样做: 活动类别的一部分: 公开课活动{ @Id private String id; private String eventTitle; @DateTimeFormat(pattern = "MM/dd/yyyy HH:mm:ss") private Date eventDateFrom; private String eventDateTo; private Integer minEven
@Id
private String id;
private String eventTitle;
@DateTimeFormat(pattern = "MM/dd/yyyy HH:mm:ss")
private Date eventDateFrom;
private String eventDateTo;
private Integer minEventPartcipants;
private String eventDateConfirmTo;
private String location;
private String minEventTime;
private List<Participant> participantList = new ArrayList<>();
但是“eventDateFrom”的时间是错误的
MongoDB文件:
{
"_id" : ObjectId("592d34dcc5f2fd2d204d7db4"),
"_class" : "info.wzielezicki.app.MeetHelp.model.Event",
"eventTitle" : "Wyjazd na rower Turbacz",
"eventDateFrom" : ISODate("2017-05-27T08:00:00.000Z"),
"eventDateTo" : "27.05.2017 22:00:00",
"minEventPartcipants" : 2,
"eventDateConfirmTo" : "26.05.2017 10:00:00",
"location" : "Lindego 13a",
"minEventTime" : "06:00:00",
"participantList" : []
}
如果您想以特定格式存储
日期
,而不是存储区使用的格式,那么您实际上并不想存储日期
,而是存储字符串
,因此只需将属性类型设为字符串
。您仍然可以在应用程序中使用使用其他使用日期
的访问器。1.您正在使用字符串.2.是的,有一个更好的方法,使用BSON date。在Java中,您为它提供了Java.util.date
。请参阅,这看起来像是时区问题。这篇文章可能会有所帮助:@jvwilge I used@DateTimeFormat(pattern=“MM/dd/yyyy HH:MM:ss”)private date eventdate date-date-from;
和TimeZone.setDefault(TimeZone.getTimeZone(“UTC”))
现在MongoDB中的eventDateFrom是“eventDateFrom”:ISODate(“2017-05-27T10:00:00.000Z”)
您认为如何,这是正确的解决方案,这取决于您的源时间是否是UTC。波兰不是UTC,而是UTC+2。我个人更喜欢用UTC保存时间和日期(并将它们显示在首选时区的前端),这样您就不会在夏令时遇到任何问题。@jvwilge谢谢您提供的信息,但我仍然有问题。我更改了eventDateFrom@DateTimeFormat(pattern=“dd/MM/yyyyy HH:MM:ss”)的模式,再次保存事件
event.setEventDateFrom(新日期(“27/05/2017 10:00:00”));private Date eventDateFrom;`现在在MongoDB中我可以看到“eventDateFrom”:ISODate(“2019-03-05T10:00:00.000Z”),`谢谢您提供的信息。我想在应用程序中保存用户设置的日期。我知道,我收到并保存在数据库中的日期格式并不重要。在进行计算之前,我必须解析此数据格式,例如eventDateFrom-eventDateTo。我说得对吗?是的,您需要解析它。
{
"_id" : ObjectId("592d34dcc5f2fd2d204d7db4"),
"_class" : "info.wzielezicki.app.MeetHelp.model.Event",
"eventTitle" : "Wyjazd na rower Turbacz",
"eventDateFrom" : ISODate("2017-05-27T08:00:00.000Z"),
"eventDateTo" : "27.05.2017 22:00:00",
"minEventPartcipants" : 2,
"eventDateConfirmTo" : "26.05.2017 10:00:00",
"location" : "Lindego 13a",
"minEventTime" : "06:00:00",
"participantList" : []
}