解决时间输出格式带 T 带 000+00:00

两种方法:

1. 全局修改

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

来源:https://blog.youkuaiyun.com/Wxin0721/article/details/124365194

2. 增加注解

创建类JsonDateSerialize
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 org.apache.commons.lang3.time.DateFormatUtils;

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

/**
 * @Description TODO 返回时间对象格式设置为'yyyy-MM-dd HH:mm:ss'
 * @Date 2023-08-24 10:27
 */
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 = DateFormatUtils.format((Date)value, "yyyy-MM-dd HH:mm:ss");
            }
            if(value instanceof String){
                r = DateFormatUtils.format(new Date(Long.valueOf(value.toString())), "yyyy-MM-dd HH:mm:ss");
            }
            if(value instanceof Long){
                r = DateFormatUtils.format(new Date((Long)value), "yyyy-MM-dd HH:mm:ss");
            }
            gen.writeObject(r);
        }else{
            gen.writeString("");
        }
    }
}

上述"yyyy-MM-dd HH:mm:ss" 可以设置一个实体类来替换

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

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

来源:https://blog.youkuaiyun.com/weixin_42649985/article/details/131418566

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值