개념
특징
- 날짜 및 시간 표현
: Date 객체는 특정 날짜와 시간을 밀리초 단위로 표현한다
- 가변성
: Date 객체는 가변(mutable) 객체이다. 즉, 사용자가 날짜와 시간을 수정 가능하지만 오류를 일으키는 원인이 될 수 있다.
- time
: 요즘에는 java.time의 클래스를 사용하는것이 권장됨
메서드
- 생성자
Date(): 현재 날짜와 시간을 기준으로 새 Date객체 생성
Date(long date): 지정한 밀리초 값을 기준으로 새로운 Date객체 생성
- getTime: Date객체를 밀리초로 변환하여 반환
java.time
주요 클래스
- LocalDate
- 시간대와 관련 없이 날짜를 표현(2024년 12월 24일)
- 특정 날짜 계산(d-day) 같은 작업 수행 가능
- LocalTime
- 시간대와 관련 없이 시간 표현(14:30:15)
- 시간, 분, 초를 수치적으로 다룰 수 있다.
- LocalDateTime
- 날짜와 시간을 결합하여 표현(2024-12-24T14:30:15)
- 날짜와 시간 조작 가능
특징
- 불변 객체
- 정확한 계산
- 타입 안정성
- 직관적인 API
Code 예시(Date)
public class DateExam {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("today: "+today);
LocalDate tomorrow=today.plusDays(1);
System.out.println("tomorrow: "+tomorrow);
LocalTime now= LocalTime.now();
System.out.println("현재 시간: "+now);
LocalTime later=now.plusHours(1);
System.out.println("1시간 뒤 시간: "+later);
LocalDateTime dateTime=LocalDateTime.now();
System.out.println("날짜/시간: "+dateTime);
LocalDateTime laterTime=dateTime.plusHours(1);
System.out.println("1시간 뒤 날짜/시간: "+laterTime);
LocalDateTime lateDate=dateTime.plusDays(1);
System.out.println("날짜/시간: "+lateDate);
}
}
결과

Code 예시(Time)
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
public class TimeExam {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.now();
System.out.println("LocalDateTime: "+dateTime);
LocalDate date=LocalDate.of(2024, Month.DECEMBER,12);
System.out.println("LocalDate: "+ date);
LocalTime localTime=LocalTime.now();
LocalTime time=LocalTime.of(14,52);
System.out.println("LocalTime.of: "+time);
LocalTime time2=LocalTime.parse("14:52:30");
System.out.println("LocalTime.parse: "+time2);
LocalDate date2=dateTime.toLocalDate();
System.out.println(date2);
System.out.println(date2.getMonth());
System.out.println(date2.getMonth().getValue());
}
}

실습
import java.time.LocalDateTime;
import java.time.LocalDate;
public class TimeExam{
public static void main(String[] args){
LocalDateTime ldt=LocalDateTime.now();
LocalDate ld=ldt.toLocalDate();
System.out.println(ld.getMonth());
}
}
