日期处理的三种方式

Posted masterhxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期处理的三种方式相关的知识,希望对你有一定的参考价值。

一:使用注解的方式

@JsonFormat注解

该注解加在实体类中的日期类型上,可以将返回的Json字符串中的时间戳转换为具体时间

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

我们通过使用@JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题

声明:关于@JsonFormat的使用,一定要导入正确完整的包。

使用maven引入@JsonFormat所需要的jar包,我贴一下我这里的pom文件的依赖

<!--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(pattern="yyyy-MM-dd",timezone = "GMT+8")

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

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

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

如果既需要取数据到前台,也需要前台数据传到后台,都需要进行时间格式的转换,可以同时使用@DateTimeFormat和@JsonFormat注解

注解@DateTimeFormat

1.@DateTimeFormat的使用和@jsonFormat差不多

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

2.在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;

3.通过上面两个步骤之后,我们就可以获取一个符合自定义格式的时间格式存储到数据库了

总结:

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

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

以上是关于日期处理的三种方式的主要内容,如果未能解决你的问题,请参考以下文章

样式小图标的三种处理方式

Spring全局异常处理的三种方式

原生JS事件绑定的三种方式

原生JS事件绑定的三种方式

Struts中的数据处理的三种方式

JavaScript事件的三种绑定方式事件处理程序