날짜/시간
데이터 변환형변환
날짜·시간 값을 파싱·포맷·연산한다. 기본은 워크플로우 타임존 기준.
기본 정보
| 항목 | 값 |
|---|---|
| 서비스 타입 | ssemworks-microservice-base.dateTime |
| 표시 이름 | 날짜/시간 |
| 카테고리 | 데이터 변환 |
| 그룹 | transform |
| 버전 | 1 |
입출력
- 입력: 메인(main)
- 출력: 메인(main)
파라미터
| 파라미터 | 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
| 동작 | operation | 선택 | getCurrentDate | 수행할 날짜/시간 연산 선택지: 현재 날짜 가져오기( getCurrentDate) · 날짜에 더하기(addToDate) · 날짜에서 빼기(subtractFromDate) · 날짜 포맷(formatDate) · 날짜 반올림(roundDate) · 두 날짜 간 차이(getTimeBetweenDates) · 날짜 일부 추출(extractDate) |
| 시간 포함 | includeTime | 불리언 | true | false면 시각을 자정으로 잘라낸 날짜만 반환 표시 조건: operation = "getCurrentDate" |
| 출력 필드명 | outputFieldName | 문자열 | currentDate | 결과를 저장할 필드명 표시 조건: operation = "getCurrentDate" |
| 기준 날짜 | magnitude | 문자열 | "" | 연산 대상 날짜 (표현식 사용 가능) 표시 조건: operation = "addToDate" 또는 "subtractFromDate" |
| 값 | duration | 숫자 | 0 | 더하거나 뺄 수량 표시 조건: operation = "addToDate" 또는 "subtractFromDate" |
| 단위 | timeUnit | 선택 | days | 값의 시간 단위 선택지: 연( years) · 분기(quarters) · 월(months) · 주(weeks) · 일(days) · 시(hours) · 분(minutes) · 초(seconds) · 밀리초(milliseconds)표시 조건: operation = "addToDate" 또는 "subtractFromDate" |
| 출력 필드명 | outputFieldName | 문자열 | newDate | 결과를 저장할 필드명 표시 조건: operation = "addToDate" 또는 "subtractFromDate" |
| 날짜 | date | 문자열 | "" | 포맷할 날짜 (표현식 사용 가능) 표시 조건: operation = "formatDate" |
| 포맷 | format | 문자열 | MM/dd/yyyy | Luxon 토큰 포맷 문자열. 'custom'이면 사용자 정의 포맷 필드 사용, 전체가 'X'/'x'면 unix 초/밀리초로 출력 표시 조건: operation = "formatDate" |
| 사용자 정의 포맷 | customFormat | 문자열 | "" | format이 'custom'일 때 사용할 Luxon 토큰 포맷 문자열 표시 조건: operation = "formatDate", format = "custom" |
| 출력 필드명 | outputFieldName | 문자열 | formattedDate | 결과를 저장할 필드명 표시 조건: operation = "formatDate" |
| 날짜 | date | 문자열 | "" | 반올림할 날짜 (표현식 사용 가능) 표시 조건: operation = "roundDate" |
| 모드 | mode | 선택 | roundDown | 반올림 방향 선택지: 내림( roundDown) · 올림(roundUp)표시 조건: operation = "roundDate" |
| 가장 가까운 단위 | toNearest | 선택 | month | 내림 기준 단위 선택지: 연( year) · 월(month) · 주(week) · 일(day) · 시(hour) · 분(minute) · 초(second)표시 조건: operation = "roundDate", mode = "roundDown" |
| 올림 단위 | to | 선택 | month | 올림 기준 단위 선택지: 연( year) · 월(month) · 주(week) · 일(day) · 시(hour) · 분(minute) · 초(second)표시 조건: operation = "roundDate", mode = "roundUp" |
| 출력 필드명 | outputFieldName | 문자열 | roundedDate | 결과를 저장할 필드명 표시 조건: operation = "roundDate" |
| 시작 날짜 | startDate | 문자열 | "" | 비교 시작 날짜 (표현식 사용 가능) 표시 조건: operation = "getTimeBetweenDates" |
| 종료 날짜 | endDate | 문자열 | "" | 비교 종료 날짜 (표현식 사용 가능) 표시 조건: operation = "getTimeBetweenDates" |
| 단위 | units | 다중 선택 | ["day"] | 차이를 분해할 단위 (내림차순으로 자동 정렬됨) 선택지: 연( year) · 월(month) · 주(week) · 일(day) · 시(hour) · 분(minute) · 초(second) · 밀리초(millisecond)표시 조건: operation = "getTimeBetweenDates" |
| 출력 필드명 | outputFieldName | 문자열 | timeDifference | 결과를 저장할 필드명 표시 조건: operation = "getTimeBetweenDates" |
| 날짜 | date | 문자열 | "" | 일부를 추출할 날짜 (표현식 사용 가능) 표시 조건: operation = "extractDate" |
| 추출 부분 | part | 선택 | month | 추출할 날짜 구성요소 선택지: 연( year) · 월(month) · 주(week) · 일(day) · 시(hour) · 분(minute) · 초(second) · 밀리초(millisecond)표시 조건: operation = "extractDate" |
| 출력 필드명 | outputFieldName | 문자열 | datePart | 결과를 저장할 필드명 표시 조건: operation = "extractDate" |
| 옵션 | options | 컬렉션 | {} | — |
옵션 하위 필드
| 파라미터 | 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
| 입력 필드 포함 | includeInputFields | 불리언 | false | 출력에 입력 아이템의 기존 필드도 함께 포함할지 여부 |
| 타임존 | timezone | 문자열 | "" | IANA 타임존 (미지정 시 워크플로우/시스템 기본값 사용) 표시 조건: operation = "getCurrentDate" |
| 워크플로우 타임존 사용 | timezone | 불리언 | false | true면 워크플로우 타임존, false면 UTC 기준으로 파싱 표시 조건: operation = "formatDate" |
| 입력 포맷 | fromFormat | 문자열 | "" | 입력 날짜 문자열을 파싱할 Luxon 토큰 포맷 (미지정 시 자동 파싱) 표시 조건: operation = "formatDate" |
| ISO 문자열로 반환 | isoString | 불리언 | false | 결과를 ISO-8601 duration 문자열로 반환할지 여부 표시 조건: operation = "getTimeBetweenDates" |