JAVA/포스팅

자바 java.time패키지

짜집퍼박사(짜박) 2023. 11. 16. 16:49

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