Date 클래스 이후, Java 8 버전에서 새롭게 출시된 3개의 클래스에 관해 소개하려고 한다.
> Date 클래스 포스팅
2025.06.04 - [Java] - [Java] Date 클래스
LocalDate
- 날짜 정보(년, 월, 일)를 나타내는 클래스
- 오늘 날짜를 또는 특정 날짜로 LocalDate 객체를 생성할 수 있다.
LocalDate ldNow = LocalDate.now();
LocalDate ldYesterday = LocalDate.of(2025, 6, 5);
System.out.println(ldNow); // 2025-06-06
System.out.println(ldYesterday); // 2025-06-05
minus(), plus()
: 생성된 LocalDate의 객체로부터 날짜를 더하고 뺄 수 있는 메소드
with()
: 파라미터 안의 숫자를 기반으로 날짜를 변경해주는 메소드
isBefore(), isAfter()
: 파라미터 안의 날짜를 기반으로 날짜가 전/후인지 true/false 여부를 출력
System.out.println(ldNow.plusDays(3)); // 2025-06-09
System.out.println(ldNow.minusMonths(1)); // 2025-05-06
System.out.println(ldNow.withMonth(1)); // 2025-01-06
System.out.println(ldNow.isAfter(ldYesterday)); // true
LocalTime
- 시간 정보를 나타내는 클래스
- 현재 시간 또는 특정 시간으로 LocalTime 객체를 생성할 수 있다.
- 시스템 시간 기준
- LocalDate와 메소드 형식이 거의 동일하다.
LocalTime ltNow = LocalTime.now();
LocalTime ltYesterday = LocalTime.of(16, 4);
System.out.println(ltNow); // 21:14:21.472962
System.out.println(ltYesterday); // 16:04
minus(), plus(), with(), isBefore(), isAfter()
System.out.println(ltNow.plusHours(3)); // 00:14:21.472962
System.out.println(ltNow.minusMinutes(3)); // 21:11:21.472962
System.out.println(ltNow.withHour(3)); // 03:14:21.472962
System.out.println(ltNow.isAfter(ltYesterday)); // true
LocalDateTime
- 날짜와 시간 정보를 모두 나타내는 클래스
- 마찬가지로, 현재 날짜/시간 또는 특정 날짜/시간으로 LocalDateTime 객체를 생성할 수 있다.
LocalDateTime ldtNow = LocalDateTime.now();
LocalDateTime ldtYesterday = LocalDateTime.of(ldYesterday, ltYesterday);
System.out.println(ldtNow); // 2025-06-06T21:24:42.587047
System.out.println(ldtYesterday); // 2025-06-05T16:04
minus(), plus(), with(), isBefore(), isAfter()
System.out.println(ldtNow.plusHours(3)); // 2025-06-07T00:27:17.674102
System.out.println(ldtNow.minusMinutes(3)); // 2025-06-06T21:24:17.674102
System.out.println(ldtNow.withMonth(4)); // 2025-04-06T21:27:17.674102
System.out.println(ldtNow.isAfter(ldtYesterday)); // true
getYear(), getMonth(), getDayOfWeek(), getSecond(), ...
: 파라미터 안의 날짜/시간의 정보를 얻는 메소드
System.out.println(ldtNow.getYear()); // 2025
System.out.println(ldtNow.getMonth()); // JUNE
System.out.println(ldtNow.getDayOfWeek()); // FRIDAY
System.out.println(ldtNow.getSecond()); // 40
이외의 메소드는 다양하게 존재한다!

:)
출처
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
'Java' 카테고리의 다른 글
| [Java] 제네릭(Generic) (0) | 2025.10.06 |
|---|---|
| [Java] 인터페이스 vs 추상 클래스 (0) | 2025.10.03 |
| [Java] final vs static vs static final (0) | 2025.09.22 |
| [Java] JVM(Java Virtual Machine) (1) | 2025.08.30 |
| [Java] Date 클래스 (0) | 2025.06.04 |