Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Fusion 날짜와 시각 함수

날짜와 timestamp를 만들거나 파싱하고, 구성 요소 및 기간을 계산합니다. 문자열 형식에는 작은따옴표를 사용합니다.

날짜와 Timestamp 생성

date(year: number, month: number, day: number): date_time
timestamp(year: number, month: number, day: number, hour: number, minute: number, second: number): date_time

date는 yyyy-MM-dd 형태의 날짜를, timestamp는 yyyy-MM-dd HH:mm:ss 형태의 시각을 만듭니다.

두 함수 모두 year가 1900보다 작으면 1900을 기준으로 한 오프셋으로 해석합니다. 예를 들어 97은 1997년입니다.

문자열 파싱

parse_date(date_string: string, [formats: string, ...]): date
parse_timestamp(timestamp_string: string, [formats: string, ...]): date_time

여러 형식을 지정하면 앞에서부터 하나가 성공할 때까지 시도합니다.

호출의미
parse_date('25/01/2022', 'dd/MM/yyyy')2022년 1월 25일
parse_timestamp('25/01/2022 12:03', 'dd/MM/yyyy HH:mm')2022년 1월 25일 정오 3분

형식은 Java DateTimeFormatter의 패턴을 따릅니다. MM은 월, mm은 분이며 HH는 24시간 기준 시각, ss는 초입니다.

날짜를 표시 문자열로

date_format(date: date_time, format: string): string

날짜 또는 timestamp를 지정한 형식의 문자열로 바꿉니다.

=date_format('2021-05-06', 'MM-dd-yy')

결과는 05-06-21입니다.

일수 더하기와 빼기

date_add(dateOrDaysLeft: any, dateOrDaysRight: any): date_time
date_sub(dateOrDaysLeft: any, dateOfDaysRight: any): date_time

날짜나 timestamp에 일수 또는 하루의 소수 부분을 더하거나 뺍니다. 날짜 문자열은 yyyy-MM-dd 형식으로 사용합니다.

D2가 2021-05-06인 예시는 다음과 같습니다.

호출결과
date_add(D2, 40)2021-06-15
date_add(D2, 0.5)2021-05-06 12:00
date_sub(D2, 40)2021-03-27
date_sub(D2, 0.5)2021-05-05 12:00

date_sub에 날짜 셀 두 개를 전달하면 두 날짜의 일수 차이를 계산할 수도 있습니다. date_sub(D1, D2)는 왼쪽 입력에서 오른쪽 입력을 뺍니다.

일수와 개월 수 차이

date_diff(start: date_time, end: date_time): number
months_between(start: date_time, end: date_time): number

date_diff는 두 날짜의 일수 차이를 반환합니다. 차이의 크기만 필요하면 절댓값으로 사용할 수 있습니다.

=abs(date_diff('2021-01-15', '2021-06-15'))

이 두 날짜 사이의 차이는 151일입니다. 방향 있는 차이가 필요하면 알려진 날짜 두 개로 인수 순서를 바꾸어 각각 계산하고 부호를 확인한 뒤 업무 수식에 적용합니다. 시작과 종료를 어느 인수에 넣을지 정하지 않은 채 양수 또는 음수의 의미를 해석하지 않습니다.

months_between은 두 날짜 사이의 개월 수입니다. months_between('2020-02-15', '2022-01-15')는 23입니다.

날짜와 시각의 구성 요소

아래 함수는 날짜, timestamp 또는 해당 값을 나타내는 입력에서 숫자 요소를 구합니다.

서명반환값과 예시
day_of_month(date: date_time): number그달의 일. 2021-06-18은 18
day_of_year(date: date_time): number그해의 일 순서. 2021-06-18은 169
week_of_year(date: date_time): number그해의 주 번호. 2021-06-18은 24
month(date: date_time): number월. 2021-02-15 08:30:15는 2
quarter(date: date_time): number분기. 2021-08-15는 3
year(date: date_time): number연도. 2022-02-15 08:30:15는 2022
hour(date: date_time): number시. 2021-02-15 08:30:15는 8
minute(date: date_time): number분. 같은 시각은 30
second(date: date_time): number초. 같은 시각은 15

hour는 날짜나 분 값 대신 시 부분만 추출합니다.

그달의 마지막 날짜

last_day(date)

날짜를 문자열로 입력하여 해당 월의 마지막 날짜를 yyyy-MM-dd 형태로 얻습니다.

=last_day('2021-02-01')

결과는 2021-02-28입니다. 1월의 마지막 일은 31일이며 2월은 연도에 따라 28일 또는 29일입니다.

근무일 수

net_workdays(start_date: date_time, end_date: date_time, [holidays: any]): number

주말을 제외한 전체 근무일 수를 계산합니다. holidays 인수는 현재 지원하지 않으므로 이 함수로 공휴일을 제외하는 구성을 하지 않습니다.

예를 들어 다음 호출로 두 날짜 사이의 근무일 수를 계산할 수 있습니다.

=net_workdays('2021-01-01', '2021-02-01')

시작일과 종료일을 포함하는 방식은 실제 업무 달력의 일수와 대조한 뒤 적용합니다. 주말뿐 아니라 휴일을 제외해야 하는 업무라면 이 함수의 휴일 미지원 조건도 반영해야 합니다.

근무일만큼 이동

workday(start_date: date_time, value: number, [holidays: any]): date

시작 날짜에서 지정한 근무일 수만큼 앞이나 뒤의 날짜를 구합니다. 주말과 지정한 휴일은 제외합니다.

호출결과
workday('2010-01-01', 10)2010-01-15
workday('2010-01-01', 10, '2010-01-05')휴일을 제외한 2010-01-18

이 함수의 holidays 지원과 net_workdays의 휴일 미지원은 구분합니다.

Unix timestamp

to_unix_timestamp(date: string, [pattern: string]): number

1970년 1월 1일 00:00:00 GMT부터 지난 밀리초 수로 변환합니다. 날짜, timestamp 또는 문자열을 입력할 수 있으며 문자열에는 파싱 패턴을 지정할 수 있습니다.

=to_unix_timestamp('2021-02-15', 'yyyy-MM-dd')

이 함수의 결과 단위는 초가 아닌 밀리초입니다.