formatdate 함수
formatdate 함수
formatdate 는 타임스탬프를 다른 시간 형식으로 변환해요.
출처: 문서
본문
formatdate 는 타임스탬프를 다른 시간 형식으로 변환해요.
formatdate(spec, timestamp)
Nomad에서 타임스탬프는 관례적으로 RFC 3339 "Date and Time format" 문법을 사용하는 문자열로 표현돼요. formatdate 는 timestamp 인자가 이 문법을 따르는 문자열일 것을 요구해요.
Examples
> formatdate("DD MMM YYYY hh:mm ZZZ", "2018-01-02T23:12:01Z")
02 Jan 2018 23:12 UTC
> formatdate("EEEE, DD-MMM-YY hh:mm:ss ZZZ", "2018-01-02T23:12:01Z")
Tuesday, 02-Jan-18 23:12:01 UTC
> formatdate("EEE, DD MMM YYYY hh:mm:ss ZZZ", "2018-01-02T23:12:01-08:00")
Tue, 02 Jan 2018 23:12:01 -0800
> formatdate("MMM DD, YYYY", "2018-01-02T23:12:01Z")
Jan 02, 2018
> formatdate("HH:mmaa", "2018-01-02T23:12:01Z")
11:12pm
Specification Syntax
포맷 지정 문자열(spec)은 다음 표의 포맷 시퀀스를 포함하는 문자열이에요. 이 함수는 RFC822, RFC850, RFC1123에 정의된 것과 같은 흔한 기계 지향적인(machine-oriented) 타임스탬프 형식을 만드는 데 쓰기 위한 것이에요. 로케일을 인식하지 못하므로 사람이 읽기에 정말 적합한 날짜 포맷팅에는 적합하지 않아요. 특히 월 이름과 요일 이름을 영어로만 만들 수 있어요.
포맷 지정 문자열은 다음 시퀀스를 포함할 수 있어요:
| Sequence | Result |
|---|---|
YYYY |
네 자리(또는 그 이상) 연도, 예: "2006". |
YY |
100으로 나눈 나머지 연도, 최소 두 자리로 0 패딩, 예: "06". |
MMMM |
약어 없는 영어 월 이름, 예: "January". |
MMM |
세 글자로 약어 붙은 영어 월 이름, 예: "Jan". |
MM |
두 자리로 0 패딩된 월 번호, 1월의 경우 "01". |
M |
패딩 없는 월 번호, 1월의 경우 "1". |
DD |
두 자리로 0 패딩된 월의 날짜, 예: "02". |
D |
패딩 없는 월의 날짜, 예: "2". |
EEEE |
약어 없는 영어 요일 이름, 예: "Monday". |
EEE |
세 글자로 약어 붙은 영어 요일 이름, 예: "Mon". |
hh |
두 자리로 0 패딩된 24시간제 수치, 예: "02". |
h |
패딩 없는 24시간제 수치, 예: "2". |
HH |
두 자리로 0 패딩된 12시간제 수치, 예: "02". |
H |
패딩 없는 12시간제 수치, 예: "2". |
AA |
대문자 오전/오후 표시, 예: "AM". |
aa |
소문자 오전/오후 표시, 예: "am". |
mm |
두 자리로 0 패딩된 시간 내 분, 예: "05". |
m |
패딩 없는 시간 내 분, 예: "5". |
ss |
두 자리로 0 패딩된 분 내 초, 예: "09". |
s |
분 내 초, 예: "9". |
ZZZZZ |
시와 분을 콜론으로 구분한 시간대 오프셋, 예: "-08:00". |
ZZZZ |
부호와 숫자만 있는 시간대 오프셋, 예: "-0800". |
ZZZ |
ZZZZ 와 같지만 UTC에 대해 "UTC" 특수 처리. |
Z |
ZZZZZ 와 같지만 UTC에 대해 "Z" 특수 처리. |
구두점 같은 비문자(non-letter) 문자는 출력물에 그대로 복제돼요. 포맷 문자열에 리터럴 문자를 포함하려면 작은따옴표 ' 로 감싸요. 리터럴 따옴표를 포함하려면 따옴표를 두 번 붙여 이스케이프해요.
> formatdate("h'h'mm", "2018-01-02T23:12:01-08:00")
23h12
> formatdate("H 'o''clock'", "2018-01-02T23:12:01-08:00")
11 o'clock
이 포맷 지정 문법은 독자가 문법 전문가가 아니어도 어떤 포맷이 결과가 될지 쉽게 짐작할 수 있게 하려는 의도로 만들어졌어요. 그래서 흔한 포맷에 대한 미리 정의된 약칭(shorthand)은 없지만, 다양한 RFC 지정 포맷의 포맷 문자열이 필요할 때 구성에 복사해서 쓸 수 있도록 아래에 나와 있어요:
- RFC 822 및 RFC 2822:
"DD MMM YYYY hh:mm ZZZ" - RFC 850:
"EEEE, DD-MMM-YY hh:mm:ss ZZZ" - RFC 1123:
"EEE, DD MMM YYYY hh:mm:ss ZZZ" - RFC 3339:
"YYYY-MM-DD'T'hh:mm:ssZ"(하지만 이것은 입력 형식이기도 해서 그런 변환은 중복돼요.)
더 알아보기 (Learn more)
format은 임의의 데이터를 위한 더 일반적인 포맷팅 함수예요.