前后端交互,日期类型总结

本文详细介绍了使用Jackson进行日期时间格式转换时应注意的几点,包括不同时间格式对Jackson序列化与反序列化的影响,以及如何在序列化与反序列化过程中正确处理日期时间数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 使用jackson进行反序列化,注意几点

1.1 格式:2014-05-17T04:23:45.254Z

这种格式是UTC标准格式,Z表示标准时区

如果使用jackson转为Date对象,根据中国的时区(GMT+8),时间会新增8个小时。

最终时间为:2014-05-17T12:23:45.254

 

1.2 格式:2014-05-17T04:23:45.254+0800

这种格式是UTC标准格式,+0800表示东八区

如果使用jackson转为Date对象,由于都处于东八区,时间不变

最终时间为:2014-05-17T04:23:45.254

 

1.3 格式:2014-05-17T04:23:45.254

不指定时区,系统默认使用Z(标准时区配置)

如果使用jackson转为Date对象,根据中国的时区(GMT+8),时间会新增8个小时。

最终时间为:2014-05-17T12:23:45.254

 

1.4 格式:1400315611376(类型string,long均可)

 

1.5 格式: 2014-05-17

 

1.6 格式:20121212(这种格式时间按照long型解析)

 

2. 使用jackson进行序列化,注意几点

2.1 默认序列化为long型

 

2.2 配置参数:configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);

输出为1970-01-01T00:00:00.000+0000这种格式,注意:最后时区为+000,我们一般不使用这种格式

 

2.3 定制输出格式:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.000Z");

super.getSerializationConfig().setDateFormat(dateFormat);

输出为1970-01-01T00:00:00.000+0800

 

3. 使用Javascript标准函数JSON.stringify对象转字符串

默认Date转为2014-05-17T04:23:45.254Z这种格式

 

结论:

使用jackson,SpringMVC(后端使用jackson实现JSON解析)反序列化对象

1. 注意前端传入的日期时间格式为:2014-05-17T04:23:45.254Z,框架会自动帮你转为东八区的时间。

 

2. 如果使用2014-05-17T04:23:45格式,由于未指定时区,默认使用标准时区,框架会自动帮你退后8小时。

 

3. 如果使用2014-05-17 04:23:45,非标准格式,系统会报错。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值