# [Java 학습노트] 날짜와 시간 API 완벽 정리
## 📌 핵심 개념 체크리스트
- ✅ 문자열과 숫자 간의 변환 방법
- ✅ 정규표현식의 올바른 사용법
- ✅ Period와 ChronoUnit의 차이점 이해
- ✅ TemporalAdjusters 활용법 숙지
- ✅ StringBuilder의 효율적인 사용
## 📝 상세 학습 내용
### 1. 정규표현식 사용 시 주의사항
- '.' 문자는 모든 문자와 매칭되는 특수문자
- **중요**: split() 메서드에서는 반드시 '\\'를 사용해야 함
- `%2d` 포맷 활용 시 한 자리 숫자를 두 자리로 자동 변환 (공백 패딩)
### 2. BufferedReader 사용법
- **필수**: 사용 시 예외 처리(throws Exception) 구현 필요
### 3. Period vs ChronoUnit
- Period: "년, 월, 일" 단위로 기간 반환
- **ChronoUnit의 장점**:
- 기간을 원하는 단위로 계산 가능
- 시간 계산 팁: ChronoUnit.MINUTE 사용 시 60으로 나눈 나머지로 분 계산
### 4. TemporalAdjusters 활용
- 복잡한 날짜 계산에 특화
- **주의사항**: 시간/날짜 클래스 기반으로 사용
- 한 달 전체 계산 시 종료일에 하루를 더해야 마지막 날 포함됨
### 5. 날짜/시간 객체 특성
- **불변 객체** 특성: 변경 시 반드시 반환값을 받아서 사용
- 오전/오후 구분은 boolean 타입 변수 사용 권장 (안전성)
### 6. 문자열 처리
- StringBuilder 활용
- **장점**: 필요한 값만 추출 시 유연한 처리 가능
- **중요**: 길이 관리가 결과값 도출에 중요
- 문자열 ↔ 숫자 변환
- 문자열 → 숫자: Integer.parseInt()
- 숫자 → 문자열: String.valueOf()
### 7. Zone 타임 처리
- ZoneId.of()로 지정
- **필수**: 변경 시 with... 메서드 사용
## 💻 코드 예제
// TemporalAdjusters 활용
날짜객체.with(TemporalAdjusters...)
## 📚 다음 학습 계획
- 2025.02.13: 중첩 클래스, 내부 클래스 Part 1 학습 예정
## ✍️ 학습 소감
날짜와 시간 API에 대한 이해도가 기본기가 잡혔다. 어려운 개념도 꾸준히 해내니 내가 알고 있듯이 내가 해냈다.
'📚 학습 기록 > Java 기초 & 중급' 카테고리의 다른 글
🗓️ 학습 일자: 2025.02.08, 2025.02.18📘 코딩 테스트 프로그래머스 : 가까운 수, 숨어있는 숫자의 덧셈, 한번만 등장한 문자 (1) | 2025.02.18 |
---|---|
[25.02.16]Java - 입문 개념 정리 및 자기화: 연산자 (1) | 2025.02.16 |
📅 [25.02.16]Java – 입문 개념 정리 및 자기화 – 변수와 패키지 (1) | 2025.02.16 |
[Java 중급] 지역 클래스와 변수의 생명주기 완벽 정리 (1) | 2025.02.14 |
📅 [2025-02-13] 📚 [김영한의 자바 중급 -1 섹션 8 중첩 클래스, 내부 클래스 1 ] (1) | 2025.02.13 |