2015-09-29 38 views
0

在我的dto中,我使用這種方式在db中獲取正確的值。不尊重Java json日期格式

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", timezone="EST") 
private Date birthdate; 

如果我插入29/09/2015,我會在db中得到正確的值。

當我顯示它時,我得到了2015-09-29在html中。

爲什麼不使用JsonFormat?

網絡到java是好的,所以問題是Java到網絡。

回答

1

檢查此鏈接:Jackson Serialize Dates

在你的類,你有這樣的事情:

@JsonFormat 
    (shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss") 
public Date eventDate; 

現在,用於測試格式,你需要做這樣的事情。

SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); 
df.setTimeZone(TimeZone.getTimeZone("UTC")); 

String toParse = "20-12-2014 02:30:00"; 
Date date = df.parse(toParse); 
Event event = new Event("party", date); 

ObjectMapper mapper = new ObjectMapper(); 
String result = mapper.writeValueAsString(event); 
assertThat(result, containsString(toParse)); 

查看鏈接瞭解更多信息。

+0

儘管此鏈接可能回答此問題,但最好在此處包含答案的重要部分並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Marcelo

+0

感謝您的建議。 –

+0

我的問題是Java到JS ... –