반응형
1. LocalDate ↔ String
1) String -> LocalDate
(1) 기본 형식 yyyy-MM-dd
val date = LocalDate.parse("2025-12-04")
- 별도의 formatter 없이 바로 변환 가능
(2) 커스텀 형식 사용
val formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd")
val date = LocalDate.parse("2025/12/04", formatter)
- LocalDate.parse(String ,DateTimeFormatter) 형태로 파싱
- ofPattern()을 이용해 원하는 형식을 지정할 수 있다.
2) LocalDate -> String
(1) 기본 형식 yyyy-MM-dd
val date = LocalDate.of(2025, 12, 4)
println(date.format(DateTimeFormatter.ISO_DATE)) // 2025-12-04
(2) 커스텀 형식 사용
val date = LocalDate.of(2025, 12, 4)
val formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd")
println(date.format(formatter)) // 2025/12/04
- LocalDate.format(DateTimeFormatter) 를 사용
(2-1) 요일 포함 형식
- E : 요일 축약 (Mon/Tue.. || 월/화..)
- EEEE : 요일 전체(Monday/Tuesday.. || 월요일/화요일..)
val date = LocalDate.of(2025, 12, 4)
val formatterK = DateTimeFormatter.ofPattern("yyyy/MM/dd (E)", Locale.KOREAN)
val formatterE = DateTimeFormatter.ofPattern("yyyy/MM/dd (E)", Locale.ENGLISH)
println(date.format(formatterK)) // 2025/12/04 (목)
println(date.format(formatterE)) // 2025/12/04 (Thu)
- Locale 설정으로 요일 언어를 지정할 수 있다.
2. LocalTime ↔ String
1) String -> LocalTime
(1) 기본 형식 HH:mm:ss
val time1 = LocalTime.parse("14:30:15")
val time2 = LocalTime.parse("14:30")
(2) 커스텀 형식 사용
val formatter = DateTimeFormatter.ofPattern("HH시 mm분 ss초")
val time = LocalTime.parse("09시 15분 04초", formatter)
2) LocalTime -> String
(1) 기본 형식 HH:mm:ss
val time = LocalTime.of(14, 30, 15)
println(time.toString()) // 14:30:15
(2) 커스텀 형식 사용
val time = LocalTime.of(14, 30)
val formatter = DateTimeFormatter.ofPattern("HH시 mm분 ss초")
println(time.format(formatter)) // 14시 30분 00초
3. LocalDateTime ↔ String
1) String -> LocalDateTime
(1) 기본 형식 yyyy-MM-ddTHH:mm:ss
val dateTime = LocalDateTime.parse("2025-12-04T14:30:15")
(2) 커스텀 형식 사용
val formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")
val dateTime = LocalDateTime.parse("2025/12/04 14:30:15", formatter)
2) LocalDateTime -> String
(1) 기본 형식 yyyy-MM-ddTHH:mm:ss
val dateTime = LocalDateTime.of(2025, 12, 4, 14, 30)
println(dateTime.toString()) // 2025-12-04T14:30
(2) 커스텀 형식
val dateTime = LocalDateTime.of(2025, 12, 4, 14, 30)
val formatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 HH시 mm분")
println(dateTime.format(formatter)) // 2025년 12월 04일 14시 30분
(2-1) 요일 포함 형식
val formatterK = DateTimeFormatter.ofPattern("yyyy/MM/dd (E) HH:mm", Locale.KOREAN)
val formatterE = DateTimeFormatter.ofPattern("yyyy/MM/dd (E) HH:mm", Locale.ENGLISH)
println(dateTime.format(formatterK)) // 2025/12/04 (목) 14:30
println(dateTime.format(formatterE)) // 2025/12/04 (Thu) 14:30반응형
'학습 기록 > kotlin' 카테고리의 다른 글
| [Kotlin] 동시성 프로그래밍 with Coroutine (0) | 2026.02.16 |
|---|---|
| [Kotlin] LocalDateTime (java.time) (0) | 2025.12.04 |
| [Kotlin] LocalTime (java.time) (0) | 2025.12.04 |
| [Kotlin] LocalDate (java.time) (1) | 2025.12.04 |
| [Kotlin] groupBy, groupingBy (0) | 2025.12.03 |
