date()
문자열을 지정한 형식에 따라 날짜 타입으로 변환합니다.
문법
date(DATE_EXPR, DATE_FMT[, LOCALE])
매개변수
DATE_EXPR- 날짜 타입으로 변환할 문자열 또는 식.
DATE_FMT- 자바 SimpleDateFormat 클래스에 정의된 날짜 파싱 형식 문자열. 다음과 같은 날짜 지시자를 사용할 수 있습니다.
날짜 지시자
지시자 설명 예제 G 기원 전/후 AD y 달력 기준 연도 2025 ( yyyy); 25 (yy)M 월 July ( MMMM); Jul (MMM); 07 (MM), 7 (M)w 연 기준 몇 번째 주 27 (해당 연도의 27번째 주) W 월 기준 몇 번째 주 2 (해당 월의 두 번째 주) D 연 단위 일 10 d 월 단위 일 189 E 요일 Tuesday ( EEEE); Tue (E,EE,EEE)F 월 기준 몇 번째 요일 2 (해당 월의 두 번째 요일) u 요일 숫자(1=월요일, …, 7=일요일) 1 a 오전/오후 PM H 시간(0-23) 0 k 시간(1-24) 24 K 오전/오후 시간 (0-11) 0 h 오전/오후 시간 (1-12) 12 m 분 30 s 초 55 S 밀리초 978 z 시간대(일반 표기) Pacific Standard Time; PST Z 시간대(RFC 822 표기) -0800 X 시간대(ISO 8601 표기) -08;-0800;08:00 LOCALE- ISO 639에 지정된 2자리 또는 3자리 로케일 코드 (기본값:
en). 로케일 코드는 ISO 639 코드 목록을 참고하세요.
설명
date() 함수는 문자열을 DATE_FMT에 지정된 형식으로 파싱하여 날짜 타입으로 반환합니다. DATE_EXPR이 null이거나 빈 문자열이면 null을 반환합니다. 파싱에 실패한 경우에도 null을 반환합니다. 배열이나 리스트를 전달하면 각 요소에 대해 재귀적으로 변환을 수행합니다.
로그프레소는 날짜 값의 범위를 엄격하게 검사하지 않습니다. 예를 들어 13월이 입력되면 다음 연도의 1월로 처리하고, 32일이 입력되면 다음 달로 넘어가는 방식으로 계산합니다.
오류 코드
| 오류 코드 | 설명 |
|---|---|
| 90820 | 날짜 형식 문자열이 잘못된 경우 |
| 90821 | 로케일이 문자열 상수가 아닌 경우 |
사용 예
-
기본 날짜 문자열 변환
json "{'val': '2024-06-10 00:30:55.978'}" | eval result = date(val, "yyyy-MM-dd HH:mm:ss.SSS") | # result: 2024-06-10 00:30:55+0900 -
ISO 8601 형식 변환
json "{'val': '2024-01-30T10:11:12.123Z'}" | eval result = date(val, "yyyy-MM-dd'T'HH:mm:ss.SSSX") | # result: 2024-01-30 19:11:12+0900 -
한국어 로케일을 사용한 날짜 변환
json "{'val': '6월 1 토요일 2024 12:34:56'}" | eval result = date(val, "MMM dd EEEE yyyy HH:mm:ss", "ko") | # result: 2024-06-01 12:34:56+0900 -
NULL 입력
json "{'val': null}" | eval result = date(val, "yyyy-MM-dd") | # result: null
호환성
date() 함수는 소나 4.0 이전 버전부터 제공되었습니다.