Date 클래스
- 날짜와 시간을 표현하는 클래스
- 주로 객체 간에 날짜와 시간 정보를 주고 받을 때 사용
Date 객체 생성
- 현재 시스템의 날짜와 시간에 대한 정보를 가지고 객체를 생성한다
Date today = new Date();
System.out.println(today);
Date when = new Date(1000);
System.out.println(when);
Date when = new Date(2025,7,21);
System.out.println(when);
Date when = new Date((2025-1900),(7-1),21);
System.out.println(when);
날짜와 시간 정보 출력
System.out.println(today.getTime());
System.out.println(today.getYear());
System.out.println(today.getMonth());
System.out.println(today.getDate());
System.out.println(today.getHours());
System.out.println(today.getMinutes());
System.out.println(today.getSeconds());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd(E) HH:mm:ss");
System.out.println(sdf.format(today));
SimpleDateFormat sdf = new SimpleDateFormat("yy년-MM월-dd일(E) a HH시 mm분 ss초");
System.out.println(sdf.format(today));
java.time 패키지
- 자바 1.8부터 날짜와 시간을 나타내는 java.time 패키지를 제공한다
- LocalDateTime
- 날짜와 시간 정보를 모두 저장할 수 있는 객체를 생성하는 클래스
- LocalDate
- 날짜 정보를 저장할 수 있는 객체를 생성하는 클래스
- LocalTime
- 시간 정보를 저장할 수 있는 객체를 생성하는 클래스
LocalDateTime 객체 생성
LocalDateTime now = LocalDateTime.now();
LocalDateTime when = LocalDateTime.of(2025, 7, 21, 15, 27, 30);
System.out.println(now);
System.out.println(when);
System.out.println(ZonedDateTime.now());
날짜와 시간 정보 출력
System.out.println(now.getYear());
System.out.println(now.getMonth());
System.out.println(now.getMonthValue());
System.out.println(now.getDayOfYear());
System.out.println(now.getDayOfMonth());
System.out.println(now.getDayOfWeek());
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());
2025
JULY
7
202
21
MONDAY
15
32
37
203933000
날짜와 시간을 조작하는 메소드
LocalDateTime plusDays = now.plusDays(1).plusMonths(1);
System.out.println(plusDays);
LocalDateTime minusDays = now.minusDays(1).plusMonths(1);
System.out.println(minusDays);
System.out.println(now);
날짜와 시간을 비교하는 메소드
System.out.println(now.isAfter(plusDays));
System.out.println(now.isBefore(plusDays));
System.out.println(now.isEqual(plusDays));
LocalDate 객체 생성
LocalDate localDate = LocalDate.now();
LocalDate localDate = LocalDate.of(2025, 7, 20);
LocalDate localDate = LocalDate.parse("2025-05-25");
System.out.println(localDate);
LocalTime 객체 생성
LocalTime time = LocalTime.now();
System.out.println(time);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(now);
System.out.println(now.format(formatter));
System.out.println(now.format(DateTimeFormatter.BASIC_ISO_DATE));
System.out.println(now.format(DateTimeFormatter.ISO_LOCAL_DATE));
System.out.println(LocalDate.parse("2025-w20-2", DateTimeFormatter.ISO_WEEK_DATE));