[SpringBoot] @JsonFormat 주석 사용 방법 - 날짜 변환

일반적으로 개발 시 날짜 변환을 포함하는 것이 골치 아픈 일이므로 @JsonFormat 주석을 사용하면 자동으로 변환할 수 있어 매우 편리합니다.

종속성 사용

pom 파일은 다음 구성을 추가해야 합니다.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.6</version>
</dependency>

사용하는 방법

간단한 로그 변환 방법

/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;

/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;

시간대 변환 방법 사용(사용):
jackson은 국제 표준 시간 GMT에 따라 시간 형식을 지정하기 때문에 중국의 기본 시간대는 CST 시간대를 사용하므로 둘 사이의 차이는 8시간입니다. East Eighth District(베이징 시간)이므로 서식을 지정할 때 시간대를 지정해야 합니다.

/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date createTime;

/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date updateTime;

다른 구현

변환 클래스를 사용자 정의할 수 있습니다.


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;

/**
 * @author cf
 * @projectName 
 * @date 2023/4/11下午 3:09
 */
public class JsonDateSerializer extends JsonSerializer<Date> {
    
    
    private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Override
    public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)
            throws IOException, JsonProcessingException {
    
    
        String value = "";
        if (null != date) {
    
    
            value = dateFormat.format(date);
        }
        gen.writeString(value);
    }
}

그냥 인용해

    @JsonSerialize(using = JsonDateSerializer.class)
    private Date updateTime;

Supongo que te gusta

Origin blog.csdn.net/daohangtaiqian/article/details/130083453
Recomendado
Clasificación