几种时间格式化注解方式

10 篇文章 0 订阅

几种时间格式化注解方式
1, @JsonFormat
介绍:
JsonFormat来源于jackson,Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
作用:
1、 @JsonFormat不仅可以完成String转时间类型,也可以完成时间类型转string,可双向转换
2、@JsonFormat注解的作用就是完成json字符串到java对象的转换工作,与参数传递的方向无关。
3、当content-type为application/json时,优先使用@JsonFormat的pattern进行类型转换。而不能使用@DateTimeFormat进行类型转换。
import com.fasterxml.jackson.annotation.JsonFormat;

/**
** 后端返给前端数据时, 日期自动格式化,需要加上时区
*/
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)
private LocalDateTime testTime;

2、@DateTimeFormat
介绍:
DateTimeFormat是spring自带的处理框架,主要用于将时间格式化。
作用:
1、将String转换成Date,一般前台给后台传值时用
2、但确不能用于返回数据时把时间类型格式化成固定格式的string类型,单向转换
import org.springframework.format.annotation.DateTimeFormat;
/**
** 前端传递时间参数到后台时,String固定格式参数会自动封装成时间类型,不需要时区
*/
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
private LocalDateTime testTime;
3、 @JSONField(format=“yyyy-MM-dd HH:mm:ss”)

介绍:
JSONField来源于fastjson,是阿里巴巴的开源框架,主要进行JSON解析和序列化。

作用:json字符串转时间类型,时间类型也可以转json字符串,可用于前后传参、后端返回数据,可双向转换;

import com.alibaba.fastjson.annotation.JSONField;
/**

  • 后端返给前端数据时, 日期自动格式化,不需要加上时区
    */
    @JSONField(format=“yyyy-MM-dd HH:mm:ss”)
    private LocalDateTime validUntilTime;
    4、曾遇到的一个BUG
    问题: 使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=“GMT+8”)格式化之后返回的参数中间带T
    思路:可能是@JsonFormat注解并未生效,目前暂时不知道原因
    解决:加上@JSONField(format=“yyyy-MM-dd HH:mm:ss”)注解

    @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone =“GMT+8”)
    @JSONField(format=“yyyy-MM-dd HH:mm:ss”)
    private LocalDateTime validUntilTime;

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值