时间格式转换

我们将字符串形式的时间,转换成Date类,报错

非法表达式,说明我们这个时间格式有问题

 后经查证:
Date 类的这个构造函数期望的日期字符串格式是 EEE MMM dd HH:mm:ss zzz yyyy(例如:Sat Jan 04 11:19:51 CST 2025),而不是 yyyy-MM-dd HH:mm:ss(例如:2025-01-04 11:19:51)。

 我们有两种做法,一种是将时间格式替换为EEE MMM dd HH:mm:ss zzz yyyy ,对于我们当前的使用场景,那还不如直接new Date( ),再转一下格式。

另一种做法是通过SimpleDateFormat类,完成转换

当然,是否转换还要根据场景:
如果你只是希望接口响应给前端/ PostMan的时候,是 yyyy-MM-dd HH:mm:ss 格式,那么我们可以在配置文件中配置jackson序列化规则(SpringBoot默认会使用jackson序列化器)

在配置文件中添加这两行:

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

 这样有好有坏:

好处:操作简便,不需要我们每次去手动转换时间格式

坏处:java代码中,看到的时间格式还是 EEE MMM dd HH:mm:ss zzz yyyy 类型的
          序列化器是全局的,如果你只是某个功能需要 yyyy-MM-dd HH:mm:ss 格式,还是不建议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值