java 2020-06-29T08:48:00.000+0000 转换成正常时间格式的解决办法

在数据库里的时间格式为: DATE 类型
2020-05-12 13:30:00

接口返回时,格式变成了
2020-05-12T13:30:00.000+0000

解决方法:

  1. 新建 DateJsonSerializer
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.text.SimpleDateFormat;
import java.util.Date;

/**
* 接收参数时触发
*/
public class DateJsonSerializer extends JsonSerializer {
    public static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    @Override
    public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
        jsonGenerator.writeString(format.format(date));
    }
}
  1. 在返回的参数上加上@JsonSerialize

//	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@JsonSerialize(using = DateJsonSerializer.class)
	private Date recordTime;

ps: 直接加上 @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”) 也可以实现

你可能感兴趣的:(java)