通过JsonSerialize快速转Long型转为日期字符型

现在很多人设计时存储日期都会用Long类型存储,但显示在前台时,需要返回日期字符串。
有些人会让前端帮忙处理,有些人会后端处理。
现在只说后端处理的情况,不需要每次都转换,通过注解实现快速转换。
1.实现转换

public class JSONDateSerial extends JsonSerializer {
    public JSONDateSerial() {
    }

    public void serialize(Long aLong, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        jsonGenerator.writeString(df.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(aLong), ZoneId.of("Asia/Shanghai"))));
    }
}

2.在VO的对象上,增加以下注解

    /**
     * 结束时间
     */
    @JsonSerialize(using= JSONDateSerial.class)
    private Long endDate;

这样,返回给前端时,系统会自动序列化long型为字符串

我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:爱余星痕,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply

你可能感兴趣的:(通过JsonSerialize快速转Long型转为日期字符型)