前后端时间传递之注解

一、前言

前后端进行数据交互时,对于时间总会出现问题,今天我们来总结一下这么解决。

二、前端传后端(@DateTimeFormat)

前端给后端传递时间参数的时候传递的都是String类型的数据,后端如果用数据库类型Date来接收的话,则会报 异常。此时后端如果在对应的时间字段上加上 @DateTimeFormat 注解,就可以解决这个问题,而且在存入数据库 的时候依然用这个字段,而不用再进行类型转化。

注意:注解中的样式如果为yyyy-MM-dd HH:mm:ss的话,前端穿的时候必须是这样的格式,如果前端只传yyyy-MM-dd的话,就会报异常。

这里的Date是在java.util.Date;这个包下面的

    //此时库里datetime类型的数据可以用Date类型直接进行存储
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

三、后端传前端 (@JsonTimeFormat)

后端传递给前端去展示时间的时候也是将时间转化为String类型的时间数据去返回。此时就需要加上 @JsonFormat 注解来解决这个问题。 

	//这里就可以根据前端需要展示的时间格式进行返回,修改patter样式即可
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

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

注意:这里的这个注解是在com.fasterxml.jackson.annotation.JsonFormat;这个包下的。并且时区记得加上,不然时间会少八个小时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值