package cn.lihu.jh.framework.common.util.json.databind; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; /** * 基于时间戳的 LocalDate 序列化器 * * @author majianbo */ public class TimestampLocalDateSerializer extends JsonSerializer { public static final TimestampLocalDateSerializer INSTANCE = new TimestampLocalDateSerializer(); @Override public void serialize(LocalDate value, JsonGenerator gen, SerializerProvider serializers) throws IOException { // 将 LocalDate 对象,转换为 Long 时间戳 gen.writeNumber(value.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); } }