Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 Gson 라이브러리를 활용한 날짜(Date) 형식 지정 방법 완벽 가이드

Gson은 Google이 개발한 Java용 JSON 라이브러리입니다. Gson을 사용하면 Java 객체를 JSON으로 직렬화하거나, JSON 데이터를 Java 객체로 역직렬화할 수 있습니다.

Gson 인스턴스는 GsonBuilder 객체를 생성한 후 create() 메서드를 호출하여 만들 수 있습니다. 특히 날짜 형식을 지정하려면 setDateFormat() 메서드를 활용하면 되는데, 이 메서드는 전달된 패턴에 따라 Date 객체가 직렬화되도록 Gson을 설정합니다.

setDateFormat() 메서드 문법

public GsonBuilder setDateFormat(java.lang.String pattern)

사용 예제

아래 예제에서는 setDateFormat("yyyy-MM-dd") 패턴을 적용하여 Employee 객체의 입사일(doj) 필드를 원하는 날짜 형식으로 변환하는 과정을 보여줍니다.

import java.util.Date;
import com.google.gson.*;

public class DateformatTest {
    public static void main(String[] args) {
        Employee emp = new Employee(115, "Surya", new Date(), 25000.00);
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        String result = gson.toJson(emp);
        System.out.println(result);
    }
}

// Employee 클래스
class Employee {
    private int id;
    private String name;
    private Date doj;
    private double salary;

    public Employee(int id, String name, Date doj, double salary) {
        this.id = id;
        this.name = name;
        this.doj = doj;
        this.salary = salary;
    }
}

실행 결과

위 코드를 실행하면 doj 필드가 yyyy-MM-dd 패턴으로 포맷팅된 것을 확인할 수 있습니다.

{"id":115,"name":"Surya","doj":"2019-09-26","salary":25000.0}

핵심 정리

  • GsonBuilder.setDateFormat()은 Date 객체의 직렬화 및 역직렬화 시 적용될 날짜 패턴을 지정합니다.
  • 패턴 문자열은 SimpleDateFormat과 동일한 규칙을 따르므로, yyyy-MM-dd HH:mm:ss처럼 시간 정보까지 포함할 수도 있습니다.
  • 기본값을 사용하면 날짜가 로케일 기본 형식으로 출력되므로, 일관된 API 응답을 위해서는 명시적으로 패턴을 설정하는 것이 좋습니다.