준호씨의 블로그

Kotlin - 어제, 오늘, 내일 구하기. LocalDate.now().plusDays 본문

개발이야기

Kotlin - 어제, 오늘, 내일 구하기. LocalDate.now().plusDays

준호씨 2022. 12. 28. 23:12
반응형

 

 

통계 배치나 운영툴 같은 것을 구현하다 보면 어제, 오늘, 내일의 날짜를 구해야 되는 경우가 왕왕 있습니다.

오늘은 2022년 12월 28일입니다. 어제, 오늘, 내일 날짜를 구해봅시다.

 

LocalDate.now() 그리고 LocalDate.now().plusDays

LocalDate.now()를 이용하면 오늘 날짜를 구할 수 있습니다.

println(LocalDate.now().plusDays(-1)) // 2022-12-27
println(LocalDate.now()) // 2022-12-28
println(LocalDate.now().plusDays(1)) // 2022-12-29

리턴 타입은 LocalDate 타입입니다.

 

문자열로 리턴 받으려면?

LocalDate.now()의 리턴타입은 LocalDate 타입입니다. String으로 리턴 받고 싶다면 format함수를 이용합니다.

println(LocalDate.now().plusDays(-1).format(DateTimeFormatter.ISO_DATE)) // 2022-12-27
println(LocalDate.now().format(DateTimeFormatter.ISO_DATE)) // 2022-12-28
println(LocalDate.now().plusDays(1).format(DateTimeFormatter.ISO_DATE)) // 2022-12-29

 

"yyyyMMdd" 포맷의 문자열로 받으려면?

DateTimeFormatter.BASIC_ISO_DATE를 이용하면 됩니다.

println(LocalDate.now().plusDays(-1).format(DateTimeFormatter.BASIC_ISO_DATE)) // 20221227
println(LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE)) // 20221228
println(LocalDate.now().plusDays(1).format(DateTimeFormatter.BASIC_ISO_DATE)) // 20221229

 

만약 직접 포맷 패턴을 지정하고 싶다면

DateTimeFormatter.ofPattern("yyyyMMdd") 처럼 패턴을 지정해 줄 수 있습니다.

println(LocalDate.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyyMMdd"))) // 20221227
println(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))) // 20221228
println(LocalDate.now().plusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"))) // 20221229

여기서는 "yyyyMMdd"를 사용했지만 "yyyy~MM~dd"처럼 원하는 패턴을 만들 수 있습니다.

반응형
Comments