解决springboot中输出的时间正确,到了前端为ISO8601格式,解决时间输出格式带 T 带 000+00:00的问题

文章介绍了如何在SpringBoot项目中全局修改日期时间格式,以及通过创建JsonDateSerialize类实现定制化的日期时间序列化,以去除时间戳中的T和多余的时区信息。

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

方法一:

1. 全局修改

SpringBoot 项目在 application.yml 配置文件
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

来源:解决时间输出格式带 T 带 000+00:00 输出时间多了个T 返回时间格式带T_mybatis-plus查出来的时间中间带有t_梦逝忘尘的博客-优快云博客f

 方法二:

创建类JsonDateSerialize

package com.jhw.eis.common.util;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.util.Date;

public class JsonDateSerialize extends JsonSerializer<Object>{

	@Override
	public void serialize(Object value, JsonGenerator gen,
			SerializerProvider serializers) throws IOException,
			JsonProcessingException {
		if(value!=null){
			String r = null;
			if(value instanceof Date){
				r = DateUtils.format((Date)value, DateUtils.DATE_FULL_STR);
			}
			if(value instanceof String){
				
				r = DateUtils.format(new Date(Long.valueOf(value.toString())), DateUtils.DATE_FULL_STR);
			}
			if(value instanceof Long){
				r = DateUtils.format(new Date((Long)value), DateUtils.DATE_FULL_STR);
			}
			gen.writeObject(r);
		}else{
			gen.writeString("");
		}
	}

	

}

在对应实体字段上加入注解

    @JsonSerialize(using= JsonDateSerialize.class)
    private Date createtime;

来源:解决时间输出格式带 T 带 000+00:00 输出时间多了个T 返回时间格式带T_菜鸟程序员w的博客-优快云博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值