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

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

public class JSONDateSerial extends JsonSerializer<Long> {
    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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容