diff --git a/src/main/java/com/njcn/influx/utils/InstantDateSerializer.java b/src/main/java/com/njcn/influx/utils/InstantDateSerializer.java new file mode 100644 index 0000000..fc7ef64 --- /dev/null +++ b/src/main/java/com/njcn/influx/utils/InstantDateSerializer.java @@ -0,0 +1,48 @@ +package com.njcn.influx.utils; + +import cn.hutool.core.date.DatePattern; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.time.Instant; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; + + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年04月25日 16:33 + */ +@Component +public class InstantDateSerializer extends StdSerializer { + + private static final long serialVersionUID = 1L; + + private static DateTimeFormatter format = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN); + + public InstantDateSerializer() { + this(null); + } + + public InstantDateSerializer(Class t) { + super(t); + } + + /*** + * 转义为 yyyy-MM-dd HH:mm:ss + * @author hongawen + */ + @Override + public void serialize(Instant instant, JsonGenerator jsonGenerator, SerializerProvider provider) + throws IOException { + if (instant == null) { + return; + } + String jsonValue = format.format(instant.atZone(ZoneId.of("+00:00"))); + jsonGenerator.writeString(jsonValue); + } +} \ No newline at end of file