API的Json请求/响应中的日期格式

时间:2017-05-19 10:14:59

标签: json spring api date datetime

我有一个Date字段 - 在我的pojo中使用startDate。

在JSON的API请求正文中,我必须以下列格式提及日期 -

{
...
"startDate" : "2017-05-19T14:00:00",
...
}

但是在回复中我得到以下格式 -

{
...
"startDate" : "2017-05-19 14:00:00",
...
}

响应JSON中没有'T'。

我应该怎样做才能使其保持一致并同时回复'T'。

3 个答案:

答案 0 :(得分:1)

有两种方法可以达到效果。

  1. 在服务器端使用String。因此,您可以在两者中获得相同的结果 请求和回复。
  2. 您可以将日期对象转换为Long(毫秒)。
  3. 为了您的信息,T只是将日期与时间分开的文字。

答案 1 :(得分:0)

您可以在yyyy-MM-dd'T'HH:mm:ss to yyyy-MM-dd HH:mm:ss时使用以下代码request

String time = "2017-05-19T14:00:00";        
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(time);
String formattedTime = output.format(d);
System.out.println(formattedTime);

您可以在yyyy-MM-dd HH:mm:ss to yyyy-MM-dd'T'HH:mm:ss时使用以下代码response

String time = "2017-05-19 14:00:00";        
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date d = sdf.parse(time);
String formattedTime = output.format(d);
System.out.println(formattedTime);

答案 2 :(得分:0)

您可以使用以下代码

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss")