Java에서 날짜와 시간을 처리하기 위한 주요 클래스와 기능은 다음과 같습니다:
java.util.Date
Java의 오래된 날짜 클래스입니다. 이 클래스는 날짜와 시간 정보를 저장합니다. 그러나 이 클래스는 많은 문제가 있으며, Java 1.1부터 deprecated되었습니다.
java.util.Calendar
Calendar 클래스는 날짜와 시간을 처리하기 위한 다양한 메서드와 상수를 제공합니다. 그러나 이 클래스는 복잡하고 사용하기 어려워 Java 8 이후에는 사용을 지양하고 있습니다.
java.util.GregorianCalendar
GregorianCalendar는 Calendar 클래스를 구현한 클래스로, 윤년 등의 날짜 계산을 지원합니다. 그러나 여전히 복잡하고 가독성이 떨어지는 인터페이스를 가지고 있습니다.
java.time 패키지
Java 8부터는 java.time 패키지가 추가되어 날짜와 시간 처리를 더 쉽고 효과적으로 할 수 있게 되었습니다. 이 패키지의 핵심 클래스는 다음과 같습니다:
LocalDate: 날짜만을 나타내는 클래스입니다.
LocalTime: 시간만을 나타내는 클래스입니다.
LocalDateTime: 날짜와 시간을 나타내는 클래스입니다.
ZonedDateTime: 특정 시간대 정보를 가지고 있는 클래스로, 타임존을 고려한 날짜와 시간 처리에 사용됩니다.
Duration 및 Period: 두 날짜 또는 시간 간의 차이를 나타내는 클래스로, 간격 및 기간을 계산하는 데 사용됩니다.
DateTimeFormatter: 날짜 및 시간을 문자열로 변환하거나 문자열에서 파싱하는 데 사용됩니다.
예를 들어, 현재 날짜와 시간을 가져오려면 다음과 같이 할 수 있습니다:
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("현재 날짜와 시간: " + currentDateTime);
}
}
Java의 java.time 패키지는 날짜와 시간 처리를 더 쉽게 만들어주며, 이전의 Date 및 Calendar 클래스보다 훨씬 강력하고 가독성이 뛰어납니다. 따라서 Java 8 이상의 버전을 사용하는 경우, java.time 패키지를 적극 활용하는 것이 좋습니다.