jstl 에서 날짜 연산은 어떻게하나요?

조회수 3867회

jsp 상에서 jstl fmt 태그를 이용하여

날짜를 연산하려 합니다.

날짜는 데이터가

"1986-01-20" 형식의 스트링으로 넘어옵니다.

현재날짜 - 마감날짜 = 몇일남음

으로 활용하려고 하는데 도무지 어렵네요

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기
    String inputDate = "2016-08-20";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    
    LocalDate fromDate = LocalDate.parse(inputDate, formatter); // 2016-08-20
    LocalDate toDate = LocalDate.now(); // 2016-08-11
    
    long day = ChronoUnit.DAYS.between(fromDate, toDate); // -9
    

    ChronoUnit 클래스 에 참고하세요~ 날짜 계산 편하게 하실 수 있어요. LocalDate와 ChronoUnit은 jdk 8 부터 사용 가능합니다~

    저는 ChronoUnit.DAYS.between 를 사용해서 '일'기준으로 계산했습니다. 양수냐 음수냐에 따라서 fromDate 와 toDate 의 위치를 변경하시면 됩니다.

    DAYS 대신에 시, 분, 초 등 구할 수 있으니 활용해보세요.

    jsp 안에서 직접 구현하시려면 <%%> 사용하시거나, 메서드로 선언해서 사용하셔도 됩니다.

    • 감사합니다!! 김영광 2016.8.13 12:39

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)