programming/JAVA

[Java] LocalDate Unsupported field: HourOfDay

LeeBorn 2022. 6. 6. 00:26
반응형

Java

LocalDate.format을 이용해서 날짜를 표현할 때 발생하는 에러다.

    @Test
    void localDateTest1(){
        DateTimeFormatter yyyyMMddHHmmss = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        LocalDate localDate = LocalDate.of(2022,06,06);
        localDate.format(yyyyMMddHHmmss);
    }

위 코드를 실행시켜보면 아래와 같이 에러가 발생한다.

Unsupported field: HourOfDay

해당 에러는 LocalDate에서 시간을 표현하는 포맷을 사용해서 발생한 에러다.

format을 "yyyyMMdd" 형식으로 바꾸던지, LocalDateTime을 사용하면 에러는 발생하지 않는다.

    @Test
    @DisplayName("LocalDate format Test 1")
    void localDateTest1(){
        LocalDate localDate = LocalDate.of(2022,06,06);
        DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyyMMdd");
        assertEquals("20220606",localDate.format(yyyyMMdd));
    }

    @Test
    @DisplayName("LocalDate format Test 2")
    void localDateTest2(){
        LocalDateTime localDateTime = LocalDateTime.of(2022,06,06, 10,10,10);
        DateTimeFormatter yyyyMMddHHmmss = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        assertEquals("20220606101010",localDateTime.format(yyyyMMddHHmmss));
    }

테스트 실행 결과

 

- 위 작성된 글에는 잘못된 부분이 있을 수 있습니다. 알려주시면 수정하겠습니다.

※ info
IDE : IntelliJ IDEA 2022.1.2 (Ultimate Edition)
JDK: corretto-11.0.9.1
반응형