package cn.lihu.jh.framework.common.util.json.databind; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import java.io.IOException; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; /** * 基于时间戳的 LocalDate 反序列化器 * * @author majianbo */ public class TimestampLocalDateDeserializer extends JsonDeserializer { public static final TimestampLocalDateDeserializer INSTANCE = new TimestampLocalDateDeserializer(); @Override public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { // 将 Long 时间戳,转换为 LocalDate 对象 return LocalDate.ofInstant(Instant.ofEpochMilli(p.getValueAsLong()), ZoneId.systemDefault()); } }