Estoy usando Jackson (a través de Spring MVC Annotations) para deserializar un campo en un java.util.Date
de JSON. El POST se ve como - {"enrollDate":"2011-09-28T00:00:00.000Z"}
, pero cuando el objeto es creado por Spring & Jackson establece la fecha como "2011-09-27 20:00:00"
.Establecer la zona horaria de Jackson para la deserialización de la fecha
¿Cómo puedo establecer la zona horaria adecuada en Jackson? O si ese no es el problema, ¿cómo envío EST desde el mensaje JSON?
Javascript/jQuery:
var personDataView = { enrollDate : new Date($("#enrollDate").val()),
//...other members
};
$.postJSON('/some/path/', personDataView, function(data){
//... handle the response here
});
JSON Mensaje:
{"enrollDate":"2011-09-28T00:00:00.000Z"}
Controlador de primavera:
@RequestMapping(value="/", method=RequestMethod.POST)
public @ResponseBody String saveProfile(@RequestBody personDataView persondataView, HttpServletRequest request)
{
//...dataView has a java.util.Date enrollDate field
//...other code
}
¿En qué zona horaria estás? Si estás a 4 horas al oeste de UTC estos 2 sellos son equivalentes. – fvu
Estoy en EST. Entonces, ¿por qué Jackson está asumiendo que la hora de llegada que envío es GMT? ¿Debo cambiar mi javascript para publicar la fecha de manera diferente, o cambiar una configuración con Jackson? –
la Z al final de la marca de tiempo es la abreviatura de +00: 00 aka Zulu time aka UTC/GMT. – fvu