两种方法:
1. 全局修改
SpringBoot 项目在 application.yml 配置文件
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
来源:https://blog.csdn.net/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.csdn.net/weixin_42649985/article/details/131418566