출처 ‣ 더 자바 Java 8, 백기선 / 인프런
// 기존에 사용하던 date & time 객체
Date date = new Date(); // 사실상 timestamp
long time = date.getTime();
System.out.println("date = " + date);
System.out.println("time = " + time); // epock 기계용 시간 리턴
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat();
// output
date = Fri Feb 09 17:54:39 KST 2024
time = 1707468879367
위와 같은 문제들로 JSR-310이라는 스팩으로 표준화함
주요 API
• 기계용 시간 (machine time)과 인류용 시간(human time)으로 나눌 수 있다.
• 기계용 시간은 EPOCK (1970년 1월 1일 0시 0분 0초)부터 현재까지의 타임스탬프를 표현한다.
• 인류용 시간은 우리가 흔히 사용하는 연,월,일,시,분,초 등을 표현한다.
• 타임스탬프는 Instant를 사용한다.
• 특정 날짜(LocalDate), 시간(LocalTime), 일시(LocalDateTime) 를 사용
• 기간 표현시 시간(Duration), 날짜(Period) 사용
• Date TimeFormatter를 사용해서 일시를 특정한 문자열로 포매팅할 수 있다