2016-08-11 66 views
-2

我有一個Web應用程序,用戶可以將消息發佈到restful API,以便可以將該信息保存在數據庫中。JSON日期已更改

當數據被從UI發送我的問題,發送日期是「effStartDate」:「2016年8月13日」,但是當我在Java代碼看到日期值,則表示週五20年8月12日: 00:00 EDT 2016.

我使用的是AngularJS,Spring和iBatis作爲ORM工具。附加的是從UI發送的數據和我在後端代碼中看到的屏幕截圖。

任何人都可以幫助我嗎?

enter image description here

enter image description here

回答

1

您可以添加批註的實體來實現。 (不得不依靠JackJson`s罐) ,然後在所需的字段添加 「@JsonFormat(圖案= 」YYYY-MM-DD HH:MM:SS「,時區= 」GMT + 8「)」

+0

我試過了,從UI發送日期 - 「2016-08-13 00:00:00」和我在後臺看到的日期是「星期五8月12日12:00:00 EDT 2016」 –

0

您可以嘗試使用JavaScript代碼中的日期格式通過REST API向服務器發送請求。

例如:

effStartDate.toISOString(); 

toISOString()方法返回以簡化擴展ISO格式的字符串

+0

當我嘗試此操作時,UI Date =「effStartDate」:「2016-08-28T00:19:21.000Z」,數據顯示在後端Sat 8月27日20:19:21 EDT 2016 –

+0

日期是一個很好的字段類型。你可以使用ObjectMapper.setDateFormat來進行JSON解析。DateFormat df = new SimpleDateFormat(「yyyy-MM-dd HH:mm a z」); myObjectMapper.setDateFormat(df); –

0

你可以把日期爲字符串。這樣的事情 @JsonFormat(shape = JsonFormat.Shape.STRING,pattern =「yyyy-MM-dd」)