All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.lsn.spring.common.json.serializer.CustomTimestampDeserializer Maven / Gradle / Ivy

Go to download

Logisfera Nova Commons holds a bunch of useful helpers such as validators, conditional register process, soap logging handler

The newest version!
package io.lsn.spring.common.json.serializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CustomTimestampDeserializer extends JsonDeserializer {

    @Override
    public Date deserialize(JsonParser jsonparser,
                            DeserializationContext deserializationcontext) throws IOException, JsonProcessingException {
        if (jsonparser.getText() == null || "".equals(jsonparser.getText().trim())) {
            return null;
        }

        String dateFormat = "yyyy-MM-dd";
        String date = jsonparser.getText().replace(" ", "T");

        if (jsonparser.getText().length() == 19) {
            dateFormat = "yyyy-MM-dd'T'HH:mm:ss";
        } else if (jsonparser.getText().length() == 16) {
            dateFormat = "yyyy-MM-dd'T'HH:mm";
        } else if (jsonparser.getText().length() > 16 && jsonparser.getText().length() != 19) {
            dateFormat = "yyyy-MM-dd'T'HH:mm";
            date = jsonparser.getText().substring(0, 16).replace(" ", "T");
        }

        SimpleDateFormat format = new SimpleDateFormat(dateFormat);
        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy