문자열을 타임스탬프로 변환
| 항목 | 값 |
|---|---|
| 화면 이름 | Convert a string to timestamp |
| 식별자 | stringToTimestampV3 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 자료형 변환 (Cast), 날짜와 시간 (Datetime) |
| 반환 자료형 | Timestamp |
Java DateTimeFormatter 형식의 문자열을 타임스탬프로 변환합니다. 기본 형식은 yyyy-MM-dd'T'HH:mm:ss.SSSXXX, yyyy-MM-dd 순서이며 처음 일치한 형식을 사용합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
String | 필수 | Expression<String> | 타임스탬프로 변환할 문자열 열입니다. |
Formats | 선택 | List<Literal<String>> | 기본 형식은 ISO8601의 yyyy-MM-dd'T'HH:mm:ss.SSSXXX와 yyyy-MM-dd입니다. |
Hour of AM/PM default | 선택 | Literal<Integer> | 형식에 AM/PM 표시는 있지만 시 필드가 없을 때 사용할 0~11의 시 값입니다. 기본값은 6이므로 AM은 06:00, PM은 18:00이 됩니다. |
Time zone | 선택 | TimeZone | 시간대가 없는 형식을 해석할 때 사용할 시간대입니다. 형식에 시간대가 있어도 이 매개변수가 그 값을 재정의합니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSSSSSX]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2020-04-28T01:30:02.005110Z | 2020-04-28T01:30:02.00511Z |
예시 2: 기본 동작
인자 값:
String:timestampFormats: nullHour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2020-04-28T01:30:02.005Z | 2020-04-28T01:30:02.005Z |
예시 3: 기본 동작
인자 값:
String:timestampFormats: nullHour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2020-04-28 | 2020-04-28T00:00:00Z |
예시 4: 기본 동작
인자 값:
String:timestampFormats: [dd-yyyy-MM HH:mm:ss, yyyy-MM-dd]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 28-2020-04 10:09:00 | 2020-04-28T10:09:00Z |
| 2020-04-28 | 2020-04-28T00:00:00Z |
예시 5: 기본 동작
인자 값:
String:timestampFormats: [yyyy-DDD HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-334 10:09:00 | 2022-11-30T10:09:00Z |
예시 6: 기본 동작
인자 값:
String:timestampFormats: [dd MMMM yyyy HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 30 November 2022 10:09:00 | 2022-11-30T10:09:00Z |
예시 7: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd h:mm:ss a]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 1:30:00 PM | 2022-11-30T13:30:00Z |
예시 8: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd HH:m:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 13:9:00 | 2022-11-30T13:09:00Z |
예시 9: 기본 동작
인자 값:
String:timestampFormats: [dd-MMM-yyyy HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 30-Nov-2022 10:09:00 | 2022-11-30T10:09:00Z |
예시 10: 기본 동작
인자 값:
String:timestampFormats: [yyyy-DDD]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-334 | 2022-11-30T00:00:00Z |
예시 11: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd HH:mm:s]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 13:09:0 | 2022-11-30T13:09:00Z |
예시 12: 기본 동작
인자 값:
String:timestampFormats: [yy-MM-dd HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 22-11-30 10:09:00 | 2022-11-30T10:09:00Z |
예시 13: 기본 동작
인자 값:
String:timestampFormats: [dd-MMM-yyyy HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 01-Nov-2023 10:09:00 | 2023-11-01T10:09:00Z |
예시 14: 기본 동작
인자 값:
String:timestampFormats: [dd-MMM-yyyy HH:mm:ss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 01-NOV-2023 10:09:00 | 2023-11-01T10:09:00Z |
예시 15: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd HH:mm:ss z]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 10:09:00 PST | 2022-11-30T18:09:00Z |
예시 16: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSS;z]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187;EST | 2022-11-29T14:50:04.187Z |
예시 17: 기본 동작
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSSXXX]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187-05:00 | 2022-11-29T14:50:04.187Z |
예시 18: 기본 동작
인자 값:
String:timestampFormats: [dd-yyyy-MM HH:mm:ss]Hour of AM/PM default: nullTime zone: Australia/Sydney
| timestamp | 출력 |
|---|---|
| 28-2020-04 04:12:00 | 2020-04-28T04:12:00+10:00 |
예시 19: 기본 동작
인자 값:
String:timestampFormats: [dd-yyyy-MM HH:mm:ss]Hour of AM/PM default: nullTime zone: +10
| timestamp | 출력 |
|---|---|
| 28-2020-04 04:12:00 | 2020-04-28T04:12:00+10:00 |
예시 20: null 처리
인자 값:
String:timestampFormats: [dd-yyyy-MM HH:mm:ss, yyyy-MM-dd]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 202021-04-28 | null |
예시 21: 경계 조건
인자 값:
String:timestampFormats: [D]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 9 | 1970-01-09T00:00:00Z |
예시 22: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSS;v]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187;Australia/Sydney | 2022-11-28T22:50:04.187Z |
예시 23: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSS;ZZZ]Hour of AM/PM default: nullTime zone: Australia/Sydney
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187;-0500 | 2022-11-29T03:50:04.187Z |
예시 24: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSS;z]Hour of AM/PM default: nullTime zone: Australia/Sydney
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187;EST | 2022-11-28T22:50:04.187Z |
예시 25: 경계 조건
인자 값:
String:timestampFormats: [m]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 8 | 1970-01-01T00:08:00Z |
예시 26: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd hh:mm:ss a]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 10:09:00 AM | 2022-11-30T10:09:00Z |
예시 27: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd a]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 PM | 2022-11-30T18:00:00Z |
예시 28: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd a]Hour of AM/PM default: 0Time zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 PM | 2022-11-30T12:00:00Z |
예시 29: 경계 조건
인자 값:
String:timestampFormats: [hh:mm]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 09:30 | 1970-01-01T09:30:00Z |
예시 30: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd hh:mm:ss a]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-30 10:09:00 PM | 2022-11-30T22:09:00Z |
예시 31: 경계 조건
인자 값:
String:timestampFormats: [uuuu-MM]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11 | 2022-11-01T00:00:00Z |
예시 32: 경계 조건
인자 값:
String:timestampFormats: [y]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 1 | 0001-01-01T00:00:00Z |
예시 33: 경계 조건
인자 값:
String:timestampFormats: [yyyyDDD]Hour of AM/PM default: nullTime zone: UTC
| timestamp | 출력 |
|---|---|
| 2023010 | 2023-01-10T00:00:00Z |
예시 34: 경계 조건
인자 값:
String:timestampFormats: [yyyyDDD]Hour of AM/PM default: nullTime zone: EST
| timestamp | 출력 |
|---|---|
| 2023010 | 2023-01-10T05:00:00Z |
예시 35: 경계 조건
인자 값:
String:timestampFormats: [yyyyDDD]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2023010 | 2023-01-10T00:00:00Z |
예시 36: 경계 조건
인자 값:
String:timestampFormats: [yyyyMMddHHmmss]Hour of AM/PM default: nullTime zone: UTC
| timestamp | 출력 |
|---|---|
| 20230110000000 | 2023-01-10T00:00:00Z |
예시 37: 경계 조건
인자 값:
String:timestampFormats: [yyyyMMddHHmmss]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 20230110000000 | 2023-01-10T00:00:00Z |
예시 38: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSSXXX;z]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2022-11-29T09:50:04.187Z;EST | 2022-11-29T09:50:04.187Z |
예시 39: 경계 조건
인자 값:
String:timestampFormats: [yyyy-MM-dd'T'HH:mm:ss.SSSSSSX]Hour of AM/PM default: nullTime zone: null
| timestamp | 출력 |
|---|---|
| 2020-04-28T01:30:02.005112Z | 2020-04-28T01:30:02.005112Z |