我正在开发Rest API并使用Jackson库进行Json处理。
在我的POJO中,我定义了一些java.util.Date字段,并且我使用ObjectMapper解析这些日期。
问题是所有日期都是错误的。
以下是从客户端收到的示例Json数据:
{
"Date1":"20161208 121500",
"Date2":"20161205 131515",
"Date3":"19830201 122718"
}
以下是代码段:
private final SimpleDateFormat df = new SimpleDateFormat("yyyyMMDD hhmmss");
ObjectMapper mapper = new ObjectMapper();
mapper.setTimeZone(TimeZone.getDefault());
mapper.setDateFormat(df);
MetaData mData = null;
try {
mData = mapper.readValue(metaData, MetaData.class);
}
catch(JsonProcessingException jpe) {
return Response.status(Status.BAD_REQUEST).build();
}
创建Date对象时,它会关闭几个月。当我在日志中打印日期时,我得到以下内容:
Date1: 01/08/16 00:15:00 (Original date is 12/08/2016)
Date2: 01/05/16 13:15:15 (Original date is 12/05/2016)
Date3: 01/01/83 00:27:18 (Original date is 02/01/1981)
任何人都可以看到我做错了什么:(
非常感谢!
答案 0 :(得分:0)
您的日期时间模式不正确。模式应为yyyyMM dd hhmmss。
'D'代表日期,'d'代表日期。