Java LocalDate 현재 날짜

JavaBeginner
지금 연습하기

소개

Java 의 LocalDate 클래스는 시간대 (time-zone) 없이 날짜를 나타내기 위해 Java 8 에 도입되었습니다. 이 클래스는 날짜 객체에 대해 일, 월, 년을 더하거나 빼는 등 다양한 연산을 수행하는 여러 메서드를 제공합니다. 이러한 유용한 메서드 중 하나는 특정 시간대를 기반으로 현재 날짜를 반환하는 now(ZoneId) 메서드입니다.

Java 파일 생성

~/project 디렉토리에 LocalDateNowZoneId.java라는 새 Java 파일을 생성합니다.

cd ~/project
touch LocalDateNowZoneId.java

필요한 패키지 임포트

LocalDate 클래스와 ZoneId 클래스를 사용하려면 java.time.LocalDatejava.time.ZoneId 패키지를 임포트해야 합니다.

import java.time.LocalDate;
import java.time.ZoneId;

기본 시스템 시간대를 사용하여 현재 날짜 가져오기

기본 시스템 시간대로 현재 날짜를 가져오려면 LocalDate 클래스의 now() 메서드를 사용할 수 있습니다. 또한, 기본 시스템 시간대를 얻기 위해 ZoneIdsystemDefault() 메서드를 사용합니다.

LocalDate localDate = LocalDate.now(ZoneId.systemDefault());
System.out.println("Current date with default system time-zone: " + localDate);

특정 시간대를 사용하여 현재 날짜 가져오기

특정 시간대로 현재 날짜를 얻고 싶다면, now() 메서드에 시간대를 인수로 전달할 수 있습니다. 이 예제에서는 "Asia/Tokyo" 시간대를 전달하여 도쿄 시간대의 현재 날짜를 얻습니다.

LocalDate localDate = LocalDate.now(ZoneId.of("Asia/Tokyo"));
System.out.println("Current date in Tokyo time-zone: " + localDate);

사용 가능한 시간대 목록 가져오기

사용 가능한 시간대를 표시하려면 ZoneId 클래스의 getAvailableZoneIds() 메서드를 사용할 수 있습니다.

System.out.println("Available time-zones:");
ZoneId.getAvailableZoneIds().forEach(System.out::println);

코드 컴파일 및 실행

터미널에서 javacjava 명령을 사용하여 코드를 컴파일하고 실행할 수 있습니다.

javac LocalDateNowZoneId.java
java LocalDateNowZoneId

요약

이 랩에서는 Java LocalDatenow(ZoneId) 메서드를 사용하여 지정된 시간대 (time-zone) 의 시스템 시계에서 현재 날짜를 얻는 방법을 배웠습니다. 또한 사용 가능한 시간대를 얻는 방법과 코드에서 이러한 시간대를 사용하는 방법을 배웠습니다.