CodeGym /Java Blog /무작위의 /자바 LocalDate 클래스
John Squirrels
레벨 41
San Francisco

자바 LocalDate 클래스

무작위의 그룹에 게시되었습니다
Java LocalDate 클래스는 변경할 수 없습니다. 즉, 인스턴스가 생성되면 수정할 수 없습니다. LocalDate는 일, 월, 연도를 더하거나 빼거나, 요일을 가져오거나, 날짜가 다른 날짜 이전 또는 이후인지 확인하는 등 날짜를 조작하고 쿼리하는 많은 유용한 방법을 제공합니다.

LocalDate 예

현재 날짜에 대한 LocalDate 인스턴스를 생성하고 이를 콘솔에 인쇄하는 간단한 예제부터 시작하겠습니다 .
import java.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Today's date: " + today);
    }
}
이 예에서는 java.time 패키지 에서 LocalDate 클래스를 가져오고 정적 now() 메서드를 사용하여 today 라는 새 LocalDate 인스턴스를 만듭니다 . 이 메서드는 기본 시간대의 시스템 시계를 기준으로 현재 날짜를 나타내는 LocalDate 개체를 반환합니다. 그런 다음 System.out 객체 의 println() 메서드를 사용하여 현재 날짜를 콘솔에 인쇄합니다 . 출력은 다음과 같습니다.

산출

오늘 날짜 : 2023-05-01

LocalDate 생성자

now() 메서드 외에도 LocalDate는 다양한 소스에서 LocalDate 인스턴스를 생성할 수 있는 여러 다른 생성자를 제공합니다 . 예를 들어 특정 연도, 월, 일을 기준으로 LocalDate를 만들 수 있습니다 .
import java.time.LocalDate;

public class LocalDateConstructorExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 5, 1);

        System.out.println("Date 1: " + date1);
    }
}
이 코드는 2023년, 5월(값 5로 표시), 1일을 포함하는 date1 이라는 새 LocalDate 인스턴스를 생성합니다 . 출력은 다음과 같습니다.

산출

날짜 1: 2023-05-01

LocalDate 조작

LocalDate 의 가장 유용한 기능 중 하나 는 날짜를 조작하는 기능입니다. 예를 들어, 플러스마이너스 방법을 사용하여 일, 월, 연도를 더하거나 뺄 수 있습니다 .
import java.time.LocalDate;

public class LocalDateManipulationExample {
    public static void main(String[] args) {

        LocalDate date3 = LocalDate.parse("2023-05-01");
        LocalDate date4 = date3.plusDays(1);
        LocalDate date5 = date3.minusMonths(1);
        LocalDate date6 = date3.plusYears(1);

        System.out.println("Date 3: " + date3);
        System.out.println("Date 4: " + date4);
        System.out.println("Date 5: " + date5);
        System.out.println("Date 6: " + date6);
   }
}
이 예에서는 먼저 문자열 "2023-05-01"을 구문 분석하여 date3 이라는 새 LocalDate 인스턴스를 만듭니다 . 그런 다음 date3 에서 일, 월 또는 연도를 더하거나 빼서 date4 , date5date6 이라는 세 개의 새로운 LocalDate 인스턴스를 만듭니다 . 출력은 다음과 같습니다:
날짜 3: 2023-05-01 날짜 4: 2023-05-02 날짜 5: 2023-04-01 날짜 6: 2024-05-01

LocalDates 비교

LocalDate는 날짜를 비교하는 방법도 제공합니다. 두 개의 LocalDate 인스턴스가 같은지 또는 equals() , isBefore()isAfter() 메서드를 사용하여 하나가 다른 인스턴스보다 앞이나 뒤에 있는지 확인할 수 있습니다 .
import java.time.LocalDate;

public class LocalDateCompareExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.parse("2023-05-01");
        LocalDate date2 = LocalDate.parse("2023-05-02");

        System.out.println("Are the dates equal? " + date1.equals(date2));
        System.out.println("Is date1 before date2? " + date1.isBefore(date2));
        System.out.println("Is date2 after date1? " + date2.isAfter(date1));
    }
}
이 예제에서는 date1date2 라는 두 개의 LocalDate 인스턴스를 만든 다음 equals() , isBefore()isAfter() 메서드를 사용하여 이를 비교합니다. 출력은 부울 형식, 즉 true 또는 false 입니다 .
날짜가 같나요? false date1이 date2 이전입니까? true date2가 date1 이후입니까? 진실

현지 날짜시간

날짜와 시간을 표시해야 하는 경우 LocalDate 와 유사하지만 시간 구성 요소를 포함하는 LocalDateTime 클래스를 사용할 수 있습니다. LocalDateTime은 날짜 및 시간 부분을 모두 조작하고 쿼리하는 메서드를 제공합니다. 다음은 LocalDateTime 인스턴스 를 생성하는 예입니다 .
import java.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        LocalDateTime datetime = LocalDateTime.now();
        System.out.println("Current date and time: " + datetime);
    }
}
이 코드는 LocalDateTime 클래스를 가져오고 now() 메서드를 사용하여 datetime 이라는 새 인스턴스를 만듭니다 . 출력은 다음과 같습니다.
현재 날짜 및 시간: 2023-05-01T15:30:00.123456789
참고: 출력의 'T'는 타임스탬프의 시작을 나타냅니다.

결론

Java LocalDate 클래스는 Java에서 날짜 작업에 유용합니다. 날짜를 조작하고 쿼리하는 다양한 방법을 제공하므로 일, 월, 연도를 쉽게 추가하거나 뺄 수 있고 날짜가 다른 날짜 이전 또는 이후인지 확인하는 등의 작업을 수행할 수 있습니다. 날짜와 시간을 함께 작업해야 하는 경우 대신 LocalDateTime 클래스를 사용할 수 있습니다. 이 수업을 통해 자유롭게 실험해보고 결과를 공유해 주세요! 막히는 느낌이 들 때마다 이 게시물로 돌아오세요. 즐거운 코딩하세요!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION