2016-08-11 67 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”)