날짜/시간 유형을 텍스트로 변환
EGL은 다른 프로세스를 사용하여 각각의 날짜/시간 유형을 텍스트로 변환합니다.
- TIMESTAMP
- 변수가 올바른 값을 가진 경우 EGL은 strLib.defaultTimestampFormat을
사용합니다. 해당 형식이 올바르지 않으면 EGL에 RuntimeException이 발생합니다.
해당 형식이 비어 있는 문자열인 경우 EGL은 TIMESTAMP 변수를 정의하는 데
사용한 마스크를 기반으로 하는 기본 형식 "yyyy-MM-dd HH:mm:ss.SSSSSS"의
일부를 사용합니다. 다음 예제를 생각해 보십시오.
strLib.defaultTimestampFormat = ""; myTimestamp TIMESTAMP("HHmmss")? = "123102"; writeStdOut(myTimestamp); - EGL은 기본 형식의 "HH:mm:ss" 부분만 사용하고 "12:31:02"를 콘솔에 표시합니다.
- TIME
- 변수가 올바른 값을 가진 경우 EGL은 strLib.defaultTimeFormat을 사용합니다. 해당 형식이 올바르지 않으면 EGL에 RuntimeException이 발생합니다. 해당 형식이 비어 있는 문자열이면 결과는 비어 있는 문자열입니다.
- DATE
- 변수가 올바른 값을 가진 경우 EGL은 strLib.defaultDateFormat을 사용합니다. 해당 형식이 올바르지 않으면 EGL에 RuntimeException이 발생합니다. 해당 형식이 비어 있는 문자열이면 결과는 비어 있는 문자열입니다.
- INTERVAL(월)
- EGL은 사용자가 변수를 정의하는 데 사용한 마스크를 사용하여 간격의
각 부분에 대한 숫자 수를 판별합니다. 형식화된 문자열은 지정된 순서로
다음과 같은 문자를 포함할 수 있습니다.
- 부호(단일 문자)(값이 음수인 경우)
- 년 수(마스크에서 지정된 자릿수 사용)
- 하이픈(단일 문자)
- 개월 수(마스크에서 지정된 자릿수 사용)
- EGL은 첫 번째 지정된 값에 대해 선행 0(영)을 생략합니다. 예를 들어, 변수가 년과 개월을 모두 저장하는 경우 EGL은 년 값의 선행 0(영)은 생략하지만 개월 값의 선행 0(영)은 유지합니다. 변수가 개월만 저장하는 경우 EGL은 개월 값에서 선행 0(영)을 생략합니다.
- 변수가 년과 개월을 모두 저장하지 않는 경우 EGL은 누락된 필드 및
하이픈을 생략합니다. 다음 예제를 생각해 보십시오.
myInterval INTERVAL("yyyy") = 25; writeStdOut(myInterval); - The console displays "25".
- INTERVAL(초)
- EGL은 사용자가 변수를 정의하는 데 사용한 마스크를 사용하여 간격의
각 부분에 대한 숫자 수를 판별합니다. 형식화된 문자열은 지정된 순서로
다음과 같은 문자를 포함할 수 있습니다.
- 빼기 부호(단일 문자)(값이 음수인 경우)
- 일 수(마스크에서 지정된 자릿수 사용)
- 공백(단일 문자)
- 시간 수(마스크에서 지정된 대로)
- 콜론(단일 문자)
- 분 수(마스크에서 지정된 대로)
- 콜론(단일 문자)
- 초 수(마스크에서 지정된 대로)
- 소수점(단일 문자)
- 소수 초 수(마스크에서 지정된 대로)
- EGL은 첫 번째 지정된 값에 대해 선행 0(영)을 생략합니다. 예를 들어, 변수가 일과 시간을 모두 저장하는 경우 EGL은 일 값의 선행 0(영)은 생략하지만 시간 값의 선행 0(영)은 유지합니다. 변수가 시간 및 분만 저장하는 경우 EGL은 시간 값의 선행 0(영)은 생략하지만 분 값의 선행 0(영)은 유지합니다.
- 변수가 특정 필드를 저장하지 않는 경우 EGL은 해당 필드와 해당
필드 뒤에 오는 구분 기호 문자(공백, 콜론 또는 소수점)를 건너뜁니다.
다음 예제를 생각해 보십시오.
myInterval INTERVAL("dddddHHmm") = -5231301; writeStdOut(myInterval); - 콘솔에 "-523 13:01"이 표시됩니다.