날짜/시간 유형을 텍스트로 변환

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"이 표시됩니다.