[Kotlin] DateTimeFormatter 를 활용하여 날짜 String 으로 적절히 포맷팅하기

정지현·2022년 7월 24일
0

오늘 날짜와 관련된 포스팅을 잘 쪼개서(?) 한번에 작성하는 것 같다.

사소하게 알게 된 여러 사실들을 벨로그에 비공개글로 먼저 작성해두는데, 막상 비공개로 간략하게 메모만 해놓은 포스트를 제대로 쓰지를 않으니 한참 쌓여있었다.

그 중에 가장 만만한 놈들부터 차례대로 작성하고 있다 ㅎㅎ..

아무튼 본론으로 돌아와서, LocalDateTime 은 시간을 나타내는 국제 표준인 ISO-8601 규격을 따른다. 가령, LocalDateTime.now() 를 호출하면 날짜 뿐만이 아닌 시간도 함께 표현되므로 2022-08-02T22:30:33.597067100 과 같이 출력될 것이다.

이러한 날짜/시간 포맷을 원하는 대로 파싱해서 String 으로 변환할 수 있다.

LocalDateTime 도 그렇고, LocalDate 도 그렇고 시간과 관련된 객체는 파싱을 위한 .format() 메소드를 제공한다.

.format() 메소드를 위해 필요한 인자는 DateTimeFormatter 이다.

DateTimeFormatter 의 메소드인 .ofPattern 을 통해 다음과 같이 포맷팅 형식을 지정해줄 수 있다.

val now: LocalDateTime = LocalDateTime.now()
println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
// 출력: 2022-08-02 22:42:38

LocalDateTime.now() 메소드를 통해 현재 일자를 LocalDateTime 객체로 받아오고, 해당 객체의 .format() 메소드를 사용하였다.

이때 인자로 DateTimeFormatter.ofPattern("포맷팅 형식") 을 넘겨주면 원하는 날짜 형태의 String 으로 반환된다.

만일, DateTimeFormatter.ofPattern("yyyy-MM-dd") 과 같이 날짜만 포맷팅하고 싶다면 결과는 2022-08-02 로 나타날 것이다.

끗.

profile
나를 성장시키는 좌절에 감사하고 즐기려고 노력 중

0개의 댓글