• @JsonFormat与@DateTimeFormat注解的使用


    注解@JsonFormat主要是后台到前台的时间格式的转换

    注解@DataFormAT主要是前后到后台的时间格式的转换

    注解@JsonFormat

    <!--JsonFormat-->
      
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.8.8</version>
            </dependency>
      
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.8.8</version>
            </dependency>
      
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
            </dependency>

    在查询出来的时间的数据库字段对应的实体类的属性上添加@JsonFormat

    import java.util.Date;
    import com.fasterxml.jackson.annotation.JsonFormat;
    
    @Data  
    public class TestClass {
      
        //设置时区为上海时区,时间格式自己据需求定。
        @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
        private Date testTime;
     
    }

       @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")

       pattern:是你需要转换的时间日期的格式

       timezone:是时间设置为东八区,避免时间在转换中有误差

      提示:@JsonFormat注解可以在属性的上方,同样可以在属性对应的get方法上,两种方式没有区别

    注解@DateTimeFormat

    <!-- joda-time -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.3</version>
            </dependency>

    在controller层我们使用spring mvc 表单自动封装映射对象时,在对应的接收前台数据的对象的属性上加@@DateTimeFormat

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date symstarttime;
     
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date symendtime;

    注:当使用LocalDateTime时 @JsonFormat 失效

    代替方案:@JSONField(format=“yyyy/MM/dd HH:mm:ss”)

    <dependency>
       <groupId>com.alibaba</groupId> 
       <artifactId>fastjson</artifactId> 
       <version>1.2.71</version> 
    </dependency>

    JsonFormat注解是jackson的注解。
    JSONField注解是fastjson的注解。

    import com.alibaba.fastjson.annotation.JSONField; 
    import com.fasterxml.jackson.annotation.JsonFormat; 
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 
    private LocalDateTime data1; 
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime data1;

  • 相关阅读:
    Linux用过的命令集合
    Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十一集之安装FastDFS】
    Linux常见目录的作用
    Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十集之Nginx反向代理原理】(有参考其他文章)
    Python socket编程之三:模拟数据库循环发布数据
    Python socket编程之二:【struct.pack】&【struct.unpack】
    Python socket编程之一:
    分时图设计
    统计一段时期内股票的涨幅情况
    iOS开发之手势识别汇总
  • 原文地址:https://www.cnblogs.com/xuchen0117/p/14430352.html
Copyright © 2020-2023  润新知