BE/Java

LocalDate.parse(입력문자,포맷);

baek-dev 2025. 5. 29. 13:18

LocalDate.parse(입력문자열, 포맷터) 는 문자열을 LocalDate 객체로 변환할 때 사용하는 정적 메서드임.


LocalDate.parse(입력문자, 포맷) – 문자열을 날짜로 파싱하는 메서드

LocalDate.parse(String text, DateTimeFormatter formatter)
문자열 형식의 날짜를 LocalDate 객체로 변환(parse) 하는 메서드임.
입력 문자열의 형식을 DateTimeFormatter.ofPattern() 을 통해 지정할 수 있음.


1. 기본 구조

LocalDate.parse("2025-05-21", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
  • 첫 번째 인자: 문자열(String)
  • 두 번째 인자: 포맷터(DateTimeFormatter)
  • 반환값: LocalDate 객체

2. 예제 ① 기본 포맷 (ISO-8601)

Java의 LocalDate.parse(String) 는 포맷을 생략하면 ISO-8601 형식(yyyy-MM-dd)으로 간주함

LocalDate date = LocalDate.parse("2025-05-21");
// formatter 생략 가능

3. 예제 ② 사용자 지정 포맷 사용

String input = "21/05/2025";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");

LocalDate date = LocalDate.parse(input, formatter); // 2025-05-21

→ 포맷이 다르면 DateTimeParseException 예외가 발생함


4. 예제 ③ 한글 날짜 파싱

String input = "2025년 5월 21일";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy년 M월 d일");

LocalDate date = LocalDate.parse(input, formatter);

→ 포맷 문자열은 입력과 정확히 일치해야 함


5. 주의사항

항목 설명
포맷 불일치 포맷이 입력 문자열과 다르면 DateTimeParseException 발생
MM vs mm MM: 월 / mm: 분 → 혼용 금지
24시간제 사용 시 LocalDate는 시/분/초 없음 → 시간 관련 포맷 사용 불가

6. 자주 쓰는 포맷 패턴

포맷 의미 예시
yyyy-MM-dd ISO 기본 형식 2025-05-21
dd/MM/yyyy 유럽식 21/05/2025
yyyy.MM.dd 점(.) 구분 2025.05.21
yyyy년 M월 d일 한글 포맷 2025년 5월 21일

7. 실무 활용 예시

활용 상황 설명
사용자 입력 날짜 파싱 Form, Excel 등에서 입력된 날짜 처리
외부 API 응답 파싱 JSON 등에서 전달된 날짜 문자열을 객체로 변환
파일 이름의 날짜 추출 로그 파일 이름 등에서 날짜 추출

정리

LocalDate.parse(입력문자, 포맷) 은 문자열을 LocalDate 객체로 변환할 때 사용하는 메서드임.
DateTimeFormatter.ofPattern() 과 함께 사용하여 다양한 형식의 문자열을 날짜로 안전하게 파싱할 수 있음.
입력 포맷이 정확히 일치해야 하며, 날짜만을 처리하기 때문에 시간 정보는 포함할 수 없음.

 

 

 

 

출처 : ChatGPT

'BE > Java' 카테고리의 다른 글

변수 정리  (3) 2025.07.22
중첩, 내부클래스  (2) 2025.07.21
date.format()  (0) 2025.05.28
DateTimeFormatter.ofPattern  (0) 2025.05.27
temporalAdjusters  (0) 2025.05.26