EEALL@ONCE

☕DateTimeFormatter 본문

언어💻/자바☕

☕DateTimeFormatter

올엣원스 2023. 8. 21. 21:44
728x90

`DateTimeFormatter`는 Java 8부터 제공되는 클래스로서, 날짜와 시간을 다양한 형식으로 변환하고 파싱하는 데 사용되는 유용한 도구입니다. 이 클래스는 기존의 `SimpleDateFormat`보다 더 강력하며 스레드 안전한 방식으로 날짜와 시간을 다루는데 도움을 줍니다.

`DateTimeFormatter`의 핵심적인 기능과 사용법에 대해 간단하게 설명드리겠습니다:

1. **포맷팅 (Formatting)**:  날짜 시간 -> 문자열
날짜와 시간을 원하는 형식으로 문자열로 변환하는 작업을 포맷팅이라고 합니다. `DateTimeFormatter`는 다양한 형식 패턴을 제공하여 원하는 포맷으로 날짜와 시간을 변환할 수 있습니다.


LocalDate currentDate = LocalDate.now();
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = currentDate.format(dateFormatter); // "2023-08-21"




2. **파싱 (Parsing)**:  문자열->날짜 시간

문자열을 날짜와 시간 객체로 파싱하는 작업을 파싱이라고 합니다. `DateTimeFormatter`를 사용하여 문자열을 원하는 형식으로 파싱할 수 있습니다.

String dateString = "2023-08-21";
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate parsedDate = LocalDate.parse(dateString, dateFormatter);


3. **사전 정의된 패턴**: `DateTimeFormatter`는 많은 사전 정의된 패턴을 제공합니다. 이러한 패턴은 일반적인 날짜와 시간 형식을 더 쉽게 사용할 수 있도록 도와줍니다.

LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
String formattedDateTime = currentDateTime.format(formatter); // "2023-08-21T15:30:45.123456"



4. **Locale 지원**: `DateTimeFormatter`는 로케일을 지원하여 특정 언어나 지역에 맞는 날짜와 시간 형식을 적용할 수 있습니다.

DateTimeFormatter germanDateFormatter = DateTimeFormatter.ofPattern("dd. MMMM yyyy", Locale.GERMAN);
String formattedDate = currentDate.format(germanDateFormatter); // "21. August 2023"

 

 

728x90

'언어💻 > 자바☕' 카테고리의 다른 글

☕Java의 Map 인터페이스 : getOrDefault  (0) 2023.08.21
☕toLowerCase/toUpperCase  (0) 2023.08.21
☕StringIndexOutOfBoundsException  (0) 2023.08.17
☕InputStream  (0) 2023.08.17
☕ Scanner / System.in  (0) 2023.08.17