LocalDate, LocalTime, LocalDateTime
날짜와 시간을 표현합니다
LocalDate, LocalTime, LocalDateTime은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
현대적인 날짜 API
Java 8부터 java.time 패키지가 오래되고 오류가 발생하기 쉬운 Date 및 Calendar 클래스를 대체했습니다. 핵심 형식은 LocalDate, LocalTime, LocalDateTime입니다.
이 형식들은 모두 불변이며 스레드 안전합니다.
LocalDate
LocalDate는 시간 구성 요소 없이 연도, 월, 일로 이루어진 날짜를 나타냅니다. LocalDate.now()는 오늘 날짜를 반환하지만, 예측 가능한 출력을 얻으려면 확인 코드에서는 고정된 날짜를 사용해야 합니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date);
}
}날짜 구성 요소 읽기
getYear, getMonthValue, getDayOfMonth, 그리고 유용한 getDayOfWeek를 사용해 각 구성 요소를 가져올 수 있습니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.getYear());
System.out.println(date.getMonthValue());
System.out.println(date.getDayOfWeek());
}
}LocalTime
LocalTime은 날짜 없이 시간대의 시각을 나타냅니다. 시, 분, 초, 나노초를 포함합니다.
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalTime time = LocalTime.of(14, 30, 15);
System.out.println(time);
System.out.println(time.getHour());
}
}LocalDateTime
LocalDateTime은 날짜와 시간을 하나의 값으로 결합합니다. 여전히 연결된 시간대는 없습니다.
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
System.out.println(dt);
}
}날짜와 시간 결합
atTime을 사용하면 LocalDate와 LocalTime을 결합하여 LocalDateTime을 만들 수 있습니다.
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDate d = LocalDate.of(2026, 5, 30);
LocalTime t = LocalTime.of(8, 0);
LocalDateTime dt = d.atTime(t);
System.out.println(dt);
}
}불변성과 with
이 타입들은 불변입니다. withYear와 같은 메서드는 수정된 새 복사본을 반환하며 원본은 변경하지 않습니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate original = LocalDate.of(2026, 5, 30);
LocalDate changed = original.withYear(2030);
System.out.println(original);
System.out.println(changed);
}
}날짜 비교
isBefore, isAfter, isEqual을 사용하면 시간 순서를 읽기 쉬운 방식으로 비교할 수 있습니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate a = LocalDate.of(2026, 1, 1);
LocalDate b = LocalDate.of(2026, 12, 31);
System.out.println(a.isBefore(b));
System.out.println(a.isAfter(b));
}
}유용한 질의
isLeapYear와 lengthOfMonth처럼 자주 사용하는 질문에 답하는 편의 메서드를 제공합니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2024, 2, 1);
System.out.println(date.isLeapYear());
System.out.println(date.lengthOfMonth());
}
}텍스트에서 파싱하기
각 타입은 ISO 형식의 문자열을 파싱할 수 있습니다. LocalDate.parse는 2026-05-30과 같은 값을 읽습니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.parse("2026-05-30");
System.out.println(date.getMonth());
}
}적절한 타입 선택
생일과 달력 날짜에는 LocalDate를, 영업시간에는 LocalTime을, 날짜와 시간이 함께 필요한 약속에는 LocalDateTime을 사용하십시오. 이 중 어느 것도 시간대를 포함하지 않습니다.
빠른 확인
핵심 날짜 및 시간 타입에 대한 이해도를 확인해 보십시오.
복습
다음과 같은 핵심 java.time 타입을 배웠습니다.
- 날짜에는
LocalDate, 시간에는LocalTime, 날짜와 시간 모두에는LocalDateTime을 사용합니다. - 모두 불변이며,
with메서드는 새 복사본을 반환합니다. getYear,getDayOfWeek와 같은 getter로 구성 요소를 읽습니다.isBefore와isAfter로 비교합니다.parse로 ISO 문자열을 파싱합니다.
AI 튜터와 함께 Java을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 104
- 레슨
- 374
자주 묻는 질문
“LocalDate, LocalTime, LocalDateTime” 강의는 무료인가요?
네 — “LocalDate, LocalTime, LocalDateTime” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“LocalDate, LocalTime, LocalDateTime”에서 뭘 배우나요?
날짜와 시간을 표현합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Java Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“LocalDate, LocalTime, LocalDateTime” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- LocalDate, LocalTime, LocalDateTime
- Instant와 Duration
- Period와 날짜 산술
- DateTimeFormatter로 형식 지정하기