zoukankan      html  css  js  c++  java
  • @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;

  • 相关阅读:
    【原创】NOR FLASH Block Unprotection
    虚拟机:Snapshot
    Struts2:简单登陆验证DAO VO ACTION
    Cocos2dx:安装
    LoadRunner:Socket+Http协议
    LoadRunner中添加外部文件(md5.h),使用MD5
    Javascript实现网页水印(非图片水印)
    ASP.NET网站限制访问频率
    再谈“ASP.NET网站限制恶意访问”
    【新闻】“赢在淘宝”b比赛 30强、10强火热出炉~!
  • 原文地址:https://www.cnblogs.com/xuchen0117/p/14430352.html
Copyright © 2011-2022 走看看