Search code examples
javajsondatecalendar

Json Deserialization of string "2023-11-10 23:01:18.940" to calendar


I am trying to deserialize json String date to Calendar and deserialization is working however it is not what i want.

Current Behaviour

@JsonProperty("systemDt")
@JsonFormat(Pattern="yyyy-MM-dd HH:mm:ss.SSS")
Calendar responseDateTime;

Deserializes to responseDateTime=java.util.GregorianCalendar[time=1141556400000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="UTC"......

I want a Simple Calendar Date of the format yyyy-MM-dd HH:mm:ss.SSS


Solution

  • You should been using LocalDateTime property in code. eg:

    public static void main(String[] args) {
            DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
            System.out.println(LocalDateTime.now().format(dateFormatter));
        }
    

    output:

    2023-11-30 10:59:47.852
    

    final:

    @JsonProperty("systemDt")
    @JsonFormat(Pattern="yyyy-MM-dd HH:mm:ss.SSS")
    private LocalDateTime responseDateTime;