我使用Jackson(通過Spring MVC Annotations)將字段反序列化爲來自JSON的java.util.Date
。 POST看起來像 - {"enrollDate":"2011-09-28T00:00:00.000Z"}
,但是當對象由Spring & Jackson創建時,它將日期設置爲"2011-09-27 20:00:00"
。設置日期反序列化的傑克遜時區
如何在傑克遜設置適當的時區? 或者如果這不是問題,我該如何從JSON消息發送EST?
的Javascript/jQuery的:
var personDataView = { enrollDate : new Date($("#enrollDate").val()),
//...other members
};
$.postJSON('/some/path/', personDataView, function(data){
//... handle the response here
});
JSON消息:
{"enrollDate":"2011-09-28T00:00:00.000Z"}
彈簧控制器:
@RequestMapping(value="/", method=RequestMethod.POST)
public @ResponseBody String saveProfile(@RequestBody personDataView persondataView, HttpServletRequest request)
{
//...dataView has a java.util.Date enrollDate field
//...other code
}
在什麼時區是你嗎?如果你在UTC以西4h這兩個郵票是相同的。 – fvu
我在美國東部時間。那麼爲什麼傑克遜假設我發送的時間是GMT?我應該改變我的javascript以不同的方式發佈日期,或者更改Jackson的設置? –
時間戳結尾的Z是速記+00:00又名祖魯時間aka UTC/GMT。 – fvu