날짜 및 시간에 대한 연산 함수

  • Workflow에서 사용되는 날짜 기능에 대해 안내합니다.

  • _date 키워드

    • 날짜 및 시간 생성, 포맷 변경, 연산 등 날짜 관련 편의 기능을 제공합니다.

    • 날짜 객체 생성 ($_date.getDate)

      • 현재 시간을 가져 옵니다.

      // Wed Jul 02 12:00:00 KST 2025
      ${_date.getDate()}
      
    • 날짜 객체 생성 ($_date.toDate)

      • 문자열 또는 밀리초(long) 타입의 값을 Date 객체로 변환합니다.

      • 사용법

        • $_date.toDate(포맷, 날짜_문자열): 지정된 포맷의 문자열을 Date 객체로 변환합니다.

        • $_date.toDate(밀리초_숫자): 1970년 1월 1일 0시 기준의 밀리초 값을 Date 객체로 변환합니다

      • 예제

        // 문자열 -> Date 객체
        #set($d1 = $_date.toDate("yyyy-MM-dd HH:mm:ss", "2025-07-02 14:00:00"))
        
        // 밀리초 -> Date 객체
        #set($d2 = $_date.toDate(1751432400000))
        
    • 날짜 포맷 변경 ($_date.format)

      • 사용법

        • $_date.format(포맷, Date_객체)

      • 예제

        #set($myDate = $_date.toDate("yyyy-MM-dd HH:mm:ss", "2025-07-02 14:00:00"))
        
        #set($formatDate = ${_date.format("yyyy-MM-dd", $myDate)})
        // 결과 : 2025-07-02
        $formatDate
        
        // yyyy-MM-dd HH:mm 형식의 문자열로 변환
        ${_date.format("yyyy-MM-dd HH:mm", $myDate)}
        
        // yy/MM/dd HH:mm 형식의 문자열로 변환
        ${_date.format("yy/MM/dd HH:mm", $myDate)}
        
        // 현재시간을 yyyy-MM-dd 형식의 문자열로 변환
        ${_date.format("yyyy-MM-dd", $_date.getDate()}
        
    • 날짜 연산(toCalendar, add)

      • 날짜를 더하거나 뺴는 등의 연산을 수행합니다.

      • 연산은 Calendar 객체를 통해 이루어집니다.

      • 연산 절차

        1. $_date.toCalendar(Date_객체)를 사용해 Date 객체를 Calendar 객체로 변환합니다.

        2. $cal.add(단위, 증감값) 메소드를 사용하여 날짜를 연산합니다.

        3. 연산된 Calendar 객체를 $_date.format을 통해 원하는 형식의 문자열로 출력합니다.

        4. add 메소드에서 사용하는 주요 단위 상수

        연도 : 1
        
        월  : 2
        
        일   : 5
        
        시간 : 11
        
        분 : 12
        
        초 : 13
        
      • 예제

        // Wed Jul 02 12:00:00 KST 2025
        #set($myDate = $_date.getDate())
        
        // myDate를 기준으로 Calendar 객체 생성
        #set($cal = $_date.toCalendar($myDate))
        
        // 10일 더하기, 5 (일) 을 10만큼 더합니다.
        $cal.add(5, 10)
        #set($addDate = $_date.format("yyyy-MM-dd", $cal))
        
        // 결과: 2025-07-12
        $addDate
        
        // 중요: 새로운 연산을 위해 Calendar 객체를 원본 날짜로 다시 초기화해야 합니다.
        #set($cal = $_date.toCalendar($myDate))
        
        // 1달 빼기, 2 (월) 을 1만큼 뺍니다.
        // 초기화하지 않을 시에는 최종 결과 2025-07-12 에서 1달을 뺀 2025-06-12 이 나오게 됩니다.
        $cal.add(2, -1)
        #set($minusMonth = $_date.format("yyyy-MM-dd", $cal))
        
        // 결과: 2025-06-02
        $minusMonth