2017-05-30 88 views
0

我不明白如何以特定格式在MongoDB中保存例如「eventDateFrom」的日期和時間。以特定格式彈出數據保存日期和時間

我嘗試那樣做:

事件類的部分: 公共類的事件{RunAtStart類

@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<>(); 

部分:

Event event = new Event(); 

    event.setEventTitle("Wyjazd na rower Turbacz"); 
    event.setEventDateFrom(new Date("05/27/2017 10:00:00")); 
    event.setEventDateTo("27.05.2017 22:00:00"); 
    event.setMinEventPartcipants(2); 
    event.setEventDateConfirmTo("26.05.2017 10:00:00"); 
    event.setLocation("Lindego 13a"); 
    event.setMinEventTime("06:00:00"); 

但是時間 「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. 定義日期和時間格式是更好的方法嗎?
+1

1.您正在使用字符串。 2.是的,有更好的方法,請使用BSON日期。你在Java中提供'java.util.Date'。參見[如何在mongo中插入帶有日期的文檔?](https://stackoverflow.com/questions/24483727/how-to-insert-a-document-with-date-in-mongo) –

+1

看起來像時區問題。這篇文章可能會有所幫助:https://stackoverflow.com/questions/2891361/how-to-set-time-zone-of-a-java-util-date – jvwilge

+0

@jvwilge我使用了@DateTimeFormat(pattern =「MM/(「UTC」));'現在在MongoDB中的eventDateFrom是'「eventDateFrom」:ISODate(「2017-05/dd/yyyy HH:mm:ss」) private date DateDateFrom;'TimeZone.setDefault(TimeZone.getTimeZone 27T10:00:00.000Z「)'你怎麼看,這是正確的溶出 – jocom

回答

0

如果你想保存在特定格式的Date,而不是之一,存儲使用,你真的不想要存儲Date,但String,所以只要String類型的財產。您仍然可以使用其他訪問器,這些訪問器使用Date在您的應用程序內部使用。

+0

感謝您的信息。我想保存用戶在應用程序中設置的日期。我明白,我的數據庫中接收並保存的日期格式並不重要。在進行計算之前,我必須解析這個數據格式,例如eventDateFrom - eventDateTo。我對嗎? – jocom

+0

是的,你需要解析它。 –