理解和使用@DateTimeFormat和@JsonFormat注解 |
您所在的位置:网站首页 › dateformatter安装包 › 理解和使用@DateTimeFormat和@JsonFormat注解 |
详细的理解参照 https://blog.csdn.net/qq_28483283/article/details/81326365
两者使用时,都要注意!自己想要的时间类型是什么样的,如果只是用到日期到天,那么格式就是(pattern=”yyyy-MM-dd”),想要时分秒的话,那么就要加上HH:mm:ss,因为前后台都需要传数据,所以需要保持一致,否则就会报错误,比如:日志管理的时候,我没有加时分秒,但是我页面传递了时分秒,所以导致数据进入后台时分秒是00:00:00,就会导致同一天的数据查询为空的bug,注意
@JsonFormat、@JSONField、@DateTimeFormat的使用以及其区别 1、JsonFormat来源于jackson,Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson所依赖的jar包较少,简单易用并且性能也要相对高些,并且Jackson社区相对比较活跃,更新速度也比较快。 2、JSONField来源于fastjson,是阿里巴巴的开源框架,主要进行JSON解析和序列化。 3、DateTimeFormat是spring自带的处理框架,主要用于将时间格式化。
@DateTimeFormat使用方法: 我们可以使用@DateTimeFormat注解将一个字符串转成一个Date对象,pojo类上的哪个Date类型的字段需要,就需要用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 标记,这样前端页面传递过来的String类型的时间 '2016-11-11 11:11:11' 会转换为 Date 类型 原因是:页面将数据传到后台,是以字符串的形式。所以时间格式会出错。加上此注解,后台可解析时间格式的字符串。 但需要注意一下事项: 1.如果是小写的hh,那个值代表着1-12,比如,我是在下午16:30传入参数的,而小写的h最大只能接受12的值,传入16就出错了,所有无法将String转为Date类型。 2. 可以使用在字段上也可以使用在方法中。如: public String test2(@RequestParam("uid") int id, @DateTimeFormat(pattern="yyyy-MM-dd")Date date, UserInfo user) {} 3.需要导入joda-time.jar包,maven的配置方式为:
joda-time joda-time 2.9.6 4.需要启动mvc中的注解驱动 xmlns:mvc="http://www.springframework.org/schema/mvc" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
@JsonFormat 但是后台传到前台,前台没办法解析。需要做如下操作。 @JsonFormat(pattern=”yyyy-MM-dd”) 用法 为在属性值上 @JsonFormat(pattern=”yyyy-MM-dd”,timezone=”GMT+8”),如果直接使用 @JsonFormat(pattern=”yyyy-MM-dd”)就会出现2018-08-01 08:00:00的情况, 会相差8个小时,因为我们是东八区(北京时间)。所以我们在格式化的时候要指定时区(timezone )
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |