JAVA/자바) 시간 비교, 형식 변환

반응형

오늘 작성한 글은 "오늘"

어제 작성한 글은 "어제"

그 이전에 작성한 글은 MM/dd 형식으로 표현해주고 싶었다.

 

가지고 있는 데이터는 LocalDateTime 이었는데 이를 이용해서 표현해주었다

// 주어진 시간 데이터
LocalDateTime localDateTime

// 현재 시간 (서울 기준)
LocalDate now = LocalDate.now(ZONE_SEOUL);

// 주어진 시간 데이터 서울 기준 변환
LocalDate zonedTime = localDateTime.atZone(ZONE_SEOUL).toLocalDate();

if (now.isEqual(zonedTime)) {
    return "오늘";
} else if (now.minusDays(1).isEqual(zonedTime)) {
    return "어제";
}

 

형식 변환은 여러 방법이 있었는데 DateTimeFormatter 를 이용하였다

 

return DateTimeFormatter.ofPattern("MM/dd", Locale.KOREAN).format(zonedTime);

 

locale 정보는 withLocale 이라는 메소드를 이용해도 적용할 수 있는데, 사실 굳이 필요는 없다.

결과는 원하는대로 00/00 으로 표현된다.

반응형