EEALL@ONCE
☕DateTimeFormatter 본문
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 |