Java 8 이전에 사용하던 Date 관련 클래스는 Date, Calendar, SimpleDateFormat 등이 있었으나, 여러 문제가 있어 자바 8 버전 이후부터는 새로운 날짜 관련 API를 제공한다.
기존 클래스들의 문제는 다음과 같다.
Calendar 클래스의 경우 입력값의 month가 0이 1월로 처리됩니다. 그래서 Calendar.SEPTEMBER 같은 상수를 사용해야 하며, DB 데이터랑 연결하면서 서로 다르게 해석된다.위의 여러한 문제들이 있어 Java8 이전에서는 Joda-Time이라는 라이브러리를 사용했다. 그러나, Java 8부터는 Joda-Time이 자바 표준 라이브러리로 들어왔다.
Local 이 들어가면 “시간대(Zone Offset/Zone Region)에 대한 정보가 없다”를 의미
LocalDateTime의 now는 default time-zone의 정보를 사용

LocalDateTime으로 표현생일이나 기념일 등에 주로 사용
분명한 시간대에서 일어난 이벤트를 나타내는 데는 적합하지 않다.
Unix Timestamp를 사용하면 되지 않나?Unix Timestamp는 2038년 문제가 있다. 1970년 1월 1일 자정에서부터 2147483647 초가 지난 2038년 1월 19일 화요일 03:14:07 UTC 까지 표현이 가능하다. 이것을 보완한 것이 Instant 클래스이다.Local/Offset/ZonedDateTime과 비교했을 때 연산 속도가 훨씬 빠르다.https://www.baeldung.com/java-instant-vs-localdatetime
https://stackoverflow.com/questions/32437550/whats-the-difference-between-instant-and-localdatetime