참고자료: https://programminghints.com/2017/05/still-using-java-util-date-dont/
이전에는 java.util.Date 클래스를 사용했으나 다음과 같은 이유 때문에 더 이상 사용되지 않는다고 한다.
물론, 아직 실행이 되긴한다! 하지만 Month는 0부터 시작하여 나온 값에 +1 처리를 해주어야 하고, year도 현재 year에서 1900을 뺀 값을 반환하기 때문에 나온 값에 1900을 더해야 현재 날짜가 나온다.

이러한 번거로움을 해결하고 JDK 코어에서 더 나은 지원을 제공하기 위해 이러한 문제가 없는 새로운 날짜 및 시간 API가 Java SE8 용으로 설계되었다.
LocalDate는 날짜를 반환하는 클래스이다.

해당 클래스의 부가적인 기능이 궁금하다면 https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html
이 문서를 참고하면 된다.
LocalTime은 시간을 반환하는 클래스이다.

LocalDate가 날짜 반환을 담당하는 클래스였다면 LocalDateTime 클래스는 시간까지 반환해주는 클래스이다.

DateTimeFormatter 날짜를 포맷팅할 때 쓰는 클래스이다.


그동안 프론트 개발을 해올 때, 백엔드분들께서 보내주시는 api 명세서에는 날짜를 보내야될 경우 매번 2024-03-11T11:11:11 와 같은 형식으로 보내주셨다.
그래서 프론트 딴에서 다시 한번 처리를 해서 시간을 제외한 날짜만 화면에 출력해야되는 번거로움이 있었다.
만약 백엔드 개발을 하시는 분께서 이 글을 보신다면 LocalDateTime이 아닌 LocalDate()를 이용하여 JSON 객체를 생성하여 값을 보내주는게 더 배려있는 방법일 것 같다!
또는 더 나아가 위와 같이 포맷팅함수를 거쳐 예쁘게 값을 보내주시면 프론트엔드 개발자 분들께서 개발하는데 번거로움이 훨씬 적을 것 같다는 생각을 했다.