JAVA · 기초 문법
날짜/시간 API (java.time)
Java 8+의 java.time 패키지로 날짜와 시간을 안전하게 다룹니다.
기초 문법중급java.timeLocalDateDateTimeFormatter날짜
핵심 설명
Java 8+의 java.time 패키지로 날짜와 시간을 안전하게 다룹니다.
Java code
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class DateTimeDemo {
public static void main(String[] args) {
// 현재 날짜/시간
LocalDate today = LocalDate.now();
LocalTime now = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
ZonedDateTime zoned = ZonedDateTime.now(ZoneId.of("Asia/Seoul"));
// 생성 및 조작 (불변)
LocalDate birthday = LocalDate.of(2000, 1, 15);
LocalDate nextMonth = today.plusMonths(1);
LocalDate lastYear = today.minusYears(1);
// 차이 계산
long days = ChronoUnit.DAYS.between(birthday, today);
Period period = Period.between(birthday, today);
System.out.printf("%d년 %d개월 %d일%n",
period.getYears(), period.getMonths(), period.getDays());
// 포맷팅
DateTimeFormatter fmt =
DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 (E)");
System.out.println(today.format(fmt));
}
}학습 팁
java.time 클래스는 모두 불변(immutable)이고 스레드 안전합니다. Date/Calendar 대신 사용하세요.
주의할 점
LocalDateTime은 시간대 정보가 없습니다. 글로벌 서비스에서는 ZonedDateTime이나 Instant를 사용하세요.
자주 묻는 질문
날짜/시간 API (java.time)란 무엇인가요?
Java 8+의 java.time 패키지로 날짜와 시간을 안전하게 다룹니다.
날짜/시간 API (java.time) 학습 시 주의할 점은 무엇인가요?
LocalDateTime 은 시간대 정보가 없습니다. 글로벌 서비스에서는 ZonedDateTime 이나 Instant 를 사용하세요.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.