java.time 패키지는 자바 8부터 추가된 새로운 날짜와 시간 API를 제공합니다. 기존의 java.util.Date 및 java.util.Calendar 클래스보다 훨씬 강력하고 사용하기 쉽게 설계되었습니다. 이 API는 불변(immutable)하고 쓰레드 안전(thread-safe)하며, ISO 표준에 따라 날짜와 시간을 처리합니다.
주요 클래스와 개념은 다음과 같습니다.
- LocalDate : 날짜 정보만을 나타냅니다. 연, 월, 일을 사용하여 날짜를 표현합니다.
- LocalTime : 시간 정보만을 나타냅니다. 시, 분, 초, 나노초를 사용하여 시간을 표현합니다.
- LocalDateTime : 날짜와 시간 정보를 모두 포함하는 클래스로, LocalDate와 LocalTime의 조합입니다.
- Instant : 에포크 시간(1970-01-01 00:00:00 UTC부터 경과된 시간)을 나타내며, 전 세계적으로 동일한 시점을 나타냅니다.
- Duration : 두 시간 사이의 시간 간격을 나타냅니다.
- Period : 두 날짜 사이의 날짜 간격을 나타냅니다.
- ZoneId 및 ZoneOffset : 시간대 정보를 나타냅니다.
- ZonedDateTime : 특정 시간대에서의 날짜와 시간을 나타냅니다.
- DateTimeFormatter : 날짜와 시간을 원하는 형식으로 변환하는 데 사용됩니다.
아래는 간단한 예제 코드입니다.
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class JavaTimeExample {
public static void main(String[] args) {
// 현재 날짜
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// 현재 시간
LocalTime currentTime = LocalTime.now();
System.out.println("Current Time: " + currentTime);
// 현재 날짜와 시간
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("Current Date and Time: " + currentDateTime);
// 특정 날짜와 형식으로 출력
LocalDate specificDate = LocalDate.of(2023, 5, 15);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = specificDate.format(formatter);
System.out.println("Formatted Date: " + formattedDate);
}
}
이 예제에서는 LocalDate, LocalTime, LocalDateTime을 사용하여 현재 날짜와 시간을 얻고, 특정 날짜를 만들어 형식화하여 출력하는 방법을 보여줍니다. DateTimeFormatter를 사용하여 날짜와 시간을 원하는 형식으로 변환할 수 있습니다.
java.time 패키지는 많은 다양한 기능을 제공하므로 필요에 따라 해당 클래스 및 메서드를 참조하여 사용할 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
java.time.Instant 클래스 (0) | 2023.11.16 |
---|---|
자바 java.time패키지의 주요 클래스 (0) | 2023.11.16 |
자바 MessageFormat (0) | 2023.11.16 |
자바 ChoiceFormat (0) | 2023.11.16 |
자바 SimpleDateFormat (0) | 2023.11.16 |