문자열을 날짜로 변환
| 항목 | 값 |
|---|---|
| 화면 이름 | Convert a string to date |
| 식별자 | stringToDateV3 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 자료형 변환 (Cast), 날짜와 시간 (Datetime) |
| 반환 자료형 | Date |
Java DateTimeFormatter 형식의 문자열을 날짜로 변환합니다. 기본 형식은 yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss.SSSXXX 순서이며 처음 일치한 형식을 사용합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
String | 필수 | Expression<String> | 날짜로 해석할 문자열 열입니다. |
Formats | 선택 | List<Literal<String>> | yyyy-MM-dd, MM/dd/yyyy 같은 날짜 형식을 입력합니다. |
입출력 예시
예시 1: 기본 동작
날짜 형식 지정은 선택 사항입니다.
인자 값:
String: 2020-04-28Formats: null
출력: 2020-04-28
예시 2: 기본 동작
날짜 형식 지정은 선택 사항입니다.
인자 값:
String: 2020-04-28T01:00:00.000ZFormats: null
출력: 2020-04-28
예시 3: 기본 동작
날짜를 단일 형식으로 해석합니다.
인자 값:
String: 28-2020-04Formats: [dd-yyyy-MM]
출력: 2020-04-28
예시 4: 기본 동작
여러 형식으로 날짜를 해석합니다.
인자 값:
String: 28-2020-04Formats: [yyyy-MM-dd, dd-yyyy-MM]
출력: 2020-04-28
예시 5: 기본 동작
월이나 일 앞의 0이 없어도 yyyy-M-d 형식으로 해석할 수 있습니다.
인자 값:
String:dateFormats: [yyyy-M-d]
| date | 출력 |
|---|---|
| 2020-04-08 | 2020-04-08 |
| 2020-4-8 | 2020-04-08 |
| 2020-10-10 | 2020-10-10 |
예시 6: 기본 동작
입력 문자열에 타임스탬프가 들어갈 수 있습니다.
인자 값:
String: 28-2020-04 10:12:00 +01Formats: [dd-yyyy-MM HH:mm:ss X]
출력: 2020-04-28
예시 7: 기본 동작
시간대에 따라 결과 날짜가 달라질 수 있습니다.
인자 값:
String: 28-2020-04 10:12:00 +11Formats: [dd-yyyy-MM HH:mm:ss X]
출력: 2020-04-27
예시 8: null 처리
null 열은 null로 유지합니다.
인자 값:
String: nullFormats: [dd-yyyy-MM]
출력: null
예시 9: 경계 조건
잘못된 데이터는 null로 해석합니다.
인자 값:
String: 28-20201-14Formats: [dd-yyyy-MM]
출력: null
예시 10: 경계 조건
맞지 않는 형식은 결과를 null로 만듭니다.
인자 값:
String: 04-2020-28Formats: [dd-yyyy-MM]
출력: null
예시 11: 경계 조건
연중 일수 형식에서 연도의 기본값은 1970입니다.
인자 값:
String: 300Formats: [D]
출력: 1970-10-27
예시 12: 경계 조건
세 자리 연중 일수 형식에서 연도의 기본값은 1970입니다.
인자 값:
String: 365Formats: [DDD]
출력: 1970-12-31
예시 13: 경계 조건
연도가 없는 형식에서 연도의 기본값은 1970입니다.
인자 값:
String: 12-25Formats: [MM-dd]
출력: 1970-12-25
예시 14: 경계 조건
월만 있는 형식은 연도를 1970, 일을 1일로 기본 설정합니다.
인자 값:
String: 03Formats: [MM]
출력: 1970-03-01
예시 15: 경계 조건
한 자리 연도 형식은 월을 1월, 일을 1일로 기본 설정합니다.
인자 값:
String: 1Formats: [y]
출력: 0001-01-01
예시 16: 경계 조건
시간만 있는 형식은 날짜를 Unix epoch인 1970-01-01로 기본 설정합니다.
인자 값:
String: 1Formats: [m]
출력: 1970-01-01
예시 17: 경계 조건
두 자리 연도 형식은 월을 1월, 일을 1일로 기본 설정합니다.
인자 값:
String: 99Formats: [yy]
출력: 2099-01-01
예시 18: 경계 조건
연도만 있는 형식은 월을 1월, 일을 1일로 기본 설정합니다.
인자 값:
String: 2020Formats: [yyyy]
출력: 2020-01-01