[java] 자바의 Date 클래스와 Calendar 클래스 소개

자바에서 날짜와 시간을 다루기 위해 Date 클래스와 Calendar 클래스를 사용할 수 있습니다. 이 두 클래스는 자바의 java.util 패키지에 포함되어 있으며, 각각 날짜와 시간을 다루는 다양한 기능을 제공합니다.

1. Date 클래스

Date 클래스는 날짜와 시간을 표현하기 위한 가장 기본적인 클래스입니다. Date 클래스는 기본 생성자나 파라미터로 특정 날짜와 시간을 받아 생성할 수 있습니다.

import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 현재 날짜와 시간을 생성
        Date currentDate = new Date();
        
        // 특정 날짜와 시간을 생성
        Date specificDate = new Date(2022, 1, 1);
    }
}

하지만 Date 클래스는 JDK 1.1 이후로 deprecated 되었으며, 대부분의 메서드가 낡은 방식의 날짜 및 시간 처리를 지원하기 때문에 사용을 권장하지 않습니다. 대신에 Calendar 클래스를 사용하는 것이 좋습니다.

2. Calendar 클래스

Calendar 클래스는 Date 클래스의 대안으로 사용될 수 있는 클래스입니다. Calendar 클래스는 날짜 및 시간을 더 효율적으로 처리할 수 있는 다양한 기능을 제공합니다.

import java.util.Calendar;

public class Main {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        
        // 현재 날짜와 시간을 가져오기
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        
        // 날짜 및 시간 설정하기
        calendar.set(Calendar.YEAR, 2022);
        calendar.set(Calendar.MONTH, 0);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
    }
}

Calendar 클래스는 날짜 및 시간의 다양한 값을 가져오거나 설정하는 메서드를 제공합니다. 이를 통해 특정 날짜와 시간을 계산하거나 조작할 수 있습니다.

3. Conclusion

Date 클래스와 Calendar 클래스는 자바에서 날짜와 시간을 다루는 데에 유용한 클래스들입니다. 하지만 Date 클래스는 deprecated 되었으며, 대부분의 메서드가 업데이트된 방식의 날짜 및 시간 처리를 지원하지 않기 때문에 Calendar 클래스를 사용하는 것이 권장됩니다. Calendar 클래스를 사용하여 다양한 날짜와 시간 연산을 효율적으로 처리할 수 있습니다.

References