时间格式中莫名其妙加了个T怎么处理

文章讨论了在使用LocalDateTime时遇到的日期时间格式问题,即默认在日期和时间之间插入了T。提供了三种解决方案:1)在实体类中添加@JsonFormat注解以指定日期时间格式;2)直接通过字符串替换方法去除T;3)配置SpringBoot的Jackson序列化方式,自定义LocalDateTime的序列化器。
摘要由CSDN通过智能技术生成

目录

为什么会多一个T

应该怎么处理

1.在实体类中加注解

​编辑

 2.直接转换

3.参考网上其他博客


为什么会多一个T

LocalDateTime的源码打印中是默认在日期和时间点中间加了个T的

LocalDateTime源码:

@Override
public String toString() {
return date.toString() + 'T' + time.toString();
}

应该怎么处理

1.在实体类中加注解

在实体类中加入下列代码,我是这样处理的(我是在往前台传展示的时候发现的这个问题)

@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")

 2.直接转换

当前时间.replace(/T/g, ' ').replace(/.[\d]{3}Z/, ' ') 即可去掉T ;

3.参考网上其他博客

@Configuration
public class LocalDateTimeSerializerConfig {
    @org.springframework.beans.factory.annotation.Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
    private String pattern;
    @Bean
    public LocalDateTimeSerializer localDateTimeDeserializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值