zoukankan      html  css  js  c++  java
  • SpringBoot系列---【如何优雅的格式化实体类中的日期的返回格式?】

    前提

    url: jdbc:mysql://localhost:33306/jiulong?characterEncoding=utf-8&serverTimezone=Asia/Shanghai

    推荐写法:

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    
    注意1.此时就不能用java中的new Date()添加创建时间了,要用LocalDateTime.now();
        2.@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")注解中加不加时区都不影响了,
         之所以要加@JsonFormat,是因为默认格式"2021-01-08T01:03:53"中带个“T”,加注解就是为了去掉这个“T”。

    方法一

    springboot默认使用jackson解析
    
    spring:
    
      jackson:
    
        date-format: yyyy-MM-dd HH:mm:ss

    方法二

    //直接在属性上使用@JsonFormat注解
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    注意:若存在时差,则用@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

    方法三

     
    public class Date2LongSerializer extends JsonSerializer<Date> {
     @Override
     public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
     jsonGenerator.writeNumber(date.getTime() / 1000);
     }
    }
     
     //在实体类属性上加上
    @JsonSerialize(using
    = Date2LongSerializer.class) private Date updateTime;
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    ID的插入
    开发语言的选择
    象数据库一样连接EXCEL
    前端,你真的了解JavaScript吗?
    开源软件与自由软件
    在codeigniter中使用Cache_Lite来缓存
    使用Codeigniter的SMTP类发Email
    JavaScript变量和数据类型
    JavaScript的隐式声明和变量声明提升的总结
    ASCII和UNICODE编码以及UTF8,你懂的?
  • 原文地址:https://www.cnblogs.com/hujunwei/p/14191817.html
Copyright © 2011-2022 走看看