DateTimeFormatter와 SimpleDateFormat

Yangray·2024년 12월 30일

DateTimeFormatter,와 SimpleDateFormat는 java에서 날짜를 문자열로 포맷팅하거나 문자열을 날짜로 파싱하는데 사용한다.

둘 다 기능으로만 따지면 비슷하지만, 크게 차이점이 있다

DateTimeFormatter는 java.time 패키지에 속하며, java8에 도입된 날짜와 시간 API, 스레드에 안전하며, 날짜와 시간을 포맷팅하거나 파싱하는데 사용된다.

스레드에 안전하여 멀티쓰레드 환경에서 안전하게 사용할 수 있고, 불변 객체이므로 안전하게 공유가 가능하며 다양한 날짜/시간 객체(LocalDate, ZonedDateTime, 등) 와 함께 사용할 수 있다.

반면 SimpleDateFormat은 java.text 패키지에 속하며 내부적으로 상태를 유지하는 방식으로 동작하기 때문에 멀티스레드 환경에서는 데이터 경쟁이 발생할 수 있어 스레드에 안전하지 않다.

profile
시작은 미약하나 그 끝은 창대하리라

0개의 댓글