Datetime - 문자열 데이터

이 절에서는 패턴 문자의 문자열을 사용하여 dateTime 형식을 지정할 수 있는 방법에 대한 정보를 설명합니다.

날짜 또는 시간을 문자열로 변환하는 경우 변환을 지시하는 형식 패턴을 적용할 수 있습니다. 이 패턴은 날짜 또는 시간을 문자열로 형식화했거나 문자열을 날짜 또는 시간으로 구문 분석한 경우에 적용됩니다.

형식화 하는 동안(예 : dateTime을 문자열로) 토큰 세트 또는 패턴이 그에 상응하는 소스로 바뀝니다. 그림 1에는 이에 대한 적용 방법이 표시되어 있습니다.

그림 1. 패턴을 사용하여 문자열 출력을 생성하기 위한 dateTime 소스 형식화.

문자열이 구문 분석되면(예: dateTime으로 변환) 토큰 세트 또는 패턴이 사용되어 해당 문자열 부분에 의해 표시되는 해당 대상 dateTime의 부분이 판별됩니다. 그림 2에는 이에 대한 적용 방법이 표시되어 있습니다.

그림 2. 패턴을 사용하여 dateTime 출력을 생성하기 위한 문자열 소스 구문 분석.

구문

표현식 패턴이 다음과 같이 정의됩니다.

   .--------------.
   | .- -.        |
   V V   |        |
  >------+-symbol-+->
         '-string-'

여기서:
symbol
adDeEFGhHIkKmMsSTUwWyYzZ 세트의 한 문자입니다.
string
작은따옴표가 붙은 일련의 문자입니다. 문자열 내에 작은따옴표가 필요한 경우 두 개의 작은따옴표(“''”)를 사용할 수 있습니다.

dateTime을 문자열로 형식화하는 문자

다음 표에는 dateTime과 관련하여 문자열을 형식화 또는 구문 분석하는 데 하나의 패턴으로 사용하는 데 허용되는 문자가 나열되어 있습니다.

기호 의미 표시 형식
a 오전 또는 오후 마커 텍스트 입력 am, AM, pm, PM. 출력 AM 또는 PM
d 월의 일 수(1-31) 숫자 1, 20
dd 월의 일 수(01-31) 숫자 01, 31
D 년의 일(1-366) 숫자 3, 80, 100
DD 년의 일(01-366) 숫자 03, 80, 366
DDD 년의 일(001-366) 숫자 003
e 주의 일(1-7) 숫자 26
EEE 주의 요일 텍스트 Tue
EEEE 주의 요일 텍스트 화요일
F 월에서 주의 일(1-5) 숫자 2(7월의 둘째 수요일)3
G 기원 텍스트 BC 또는 AD
h 오전 또는 오후별 시간(1-12) 숫자 6
hh 오전 또는 오후별 시간(01-12) 숫자 06
H 24시간 형식인 일의 시간(0-23) 숫자 77
HH 24시간 형식인 일의 시간(00-23) 숫자 077
I ISO8601 날짜/시간(yyyy-MM-dd'T'HH:mm:ss.SSSZZZ까지) 텍스트 2004-10-07T12:06:56.568+01:005
IU ISO8601 날짜/시간(위와 같지만 시간대가 +00:00인 경우에는 출력 "Z"가 있는 ZZZ) 텍스트 2004-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z 5
k 24시간 형식인 일의 시간(1-24) 숫자 87
k 24시간 형식인 일의 시간(01-24) 숫자 087
K 오전 또는 오후별 시간(0-11) 숫자 9
KK 오전 또는 오후별 시간(00-11) 숫자 09
m 숫자 4
mm 숫자 04
M 숫자 월 숫자 5, 12
MM 숫자 월 숫자 05, 12
MMM 이름 지정된 월 텍스트 Jan, Feb
MMMM 이름 지정된 월 텍스트 1월, 2월
s 숫자 5
ss 숫자 05
S 데시세컨드 숫자 78
SS 센티세컨드 숫자 708
SSS 밀리세컨드 숫자 7008
SSSS 1/10,000 초 숫자 70008
SSSSS 1/100,000 초 숫자 700008
SSSSSS 1/1,000,000 초 숫자 7000008
T ISO8601 시간(HH:mm:ss.SSSZZZ까지) 텍스트 12:06:56.568+01:005
TU ISO8601 시간(위와 같지만 +00:00의 시간대에서는 'Z'로 바뀜) 텍스트 12:06:56.568+01:00, 15:42:12.000Z5
w 연도의 주 숫자 7, 532
ww 연도의 주 숫자 07, 532
W 월의 주 숫자 24
yy 연도 숫자 961
yyyy 연도 숫자 19961
YY 연도: 항상 연도의 주와 함께 사용 숫자 962
YYYY 연도: 항상 연도의 주와 함께 사용 숫자 19962
zzz 시간대(약어 이름) 텍스트 gmt
zzzz 시간대(전체 이름) 텍스트 GMT(Greenwich Mean Time)
Z 시간대(+/-n) 텍스트 +3
ZZ 시간대(+/-nn) 텍스트 +03
ZZZ 시간대(+/-nn:nn) 텍스트 +03:00
ZZZU 시간대(ZZZ, "+00:00"이 "Z"로 바뀜) 텍스트 +03:00, Z
ZZZZ 시간대(GMT+/-nn:nn) 텍스트 GMT+03:00
ZZZZZ 시간대(ZZZ, 콜론 없음)(+/-nnnn) 텍스트 +0300
' 텍스트용 이스케이프   '사용자 텍스트'
'' (두 개의 작은따옴표) 이스케이프 텍스트 내의 작은따옴표   'o''clock'

dateTime 오브젝트의 프리젠테이션은 다음과 같이 지정하는 기호에 따라 달라집니다.

참고사항: 다음 사항은 위 표의 주를 설명합니다.
  1. 연도는 특수 경우로 핸들링됩니다.
    • 출력 시, y 수가 2이면 연도는 2자리로 잘립니다. 예를 들면, yyyy1997을 생성하면, yy97을 생성합니다.
    • 입력 시, 2자리 연도의 경우, 물리적 메시지 세트 등록 정보 2자리 수 연도 사용은 세기를 판별하는 데 사용됩니다. 예를 들어, 2자리 수 연도 사용53으로 설정되면, 연도 97은 1997이고 연도 52는 2052이며 연도 53은 1953입니다.
  2. 연도의 시작은 대개 주 중에 있습니다. 해당 주의 일 수가 물리적 메시지 세트 등록 정보인 연도의 첫째 주의 일 수에 지정된 값보다 작으면, 그 주는 이전 연도의 마지막 주로 간주됩니다. 그러므로 제1주는 일부를 새 연도로 시작합니다. 그렇지 않으면, 새 연도의 첫 번째 주로 간주되므로, 주 1은 며칠을 새 연도 전에 시작합니다. 예를 들어, 형식 문자열 YYYY ww EEEE를 사용하는 2004년 첫 주의 월요일(2004 01 월요일. 여기서 연도의 첫째 주의 일 수 = 4이고 주의 첫 번째 요일 = 월요일)은 실제로는 2003년 12월 29일입니다. Y를 사용하는 경우, 주의 요일(E) 및 연도의 주(w)는 날짜가 이전 연도에 포함된다는 것을 표시해야 할 경우 조정됩니다.

    y 기호를 사용하면, 조정되지 않으며 한 해의 마지막 며칠의 경우 예기치 못한 결과가 발생할 수 있습니다. 예를 들어, 2002 01 Monday 문자열을 형식화할 경우,

    • 형식 문자열 YYYY ww EEEE를 사용하는 2002년 첫 주의 월요일은 31st December 2001로 올바르게 해석됩니다.
    • 형식 문자열 yyyy ww EEEE를 사용하는 2002년 첫 주의 월요일은 30th December 2002로 올바르게 해석됩니다.

    Yw와 함께 사용되어야만 합니다. w 없이 Y를 사용하면 연도는 무시됩니다. 예를 들어, 1996-03-01을 형식화하기 위해 YYYY-MM-dd를 지정할 경우, 연도 입력이 무시되고 현재 연도가 가정되므로 결과는 2005-03-01입니다.

  3. 2001년 7월 11일은 7월의 두 번째 수요일이며, yyyy MMMM EEEE F 형식 문자열을 사용하여 2001 July Wednesday 2로 표시될 수 있습니다.
  4. 월의 첫 번째 주와 마지막 주에는 이웃하는 월의 날짜가 포함될 수 있습니다. 예를 들면, 2001년 7월 31일 화요일은 2001년 8월 첫주 화요일로 표시될 수 있으며, 이 날짜는 yyyy MMMM W EEEE 형식 문자열을 사용하면 2001 08 1 Tuesday입니다.
  5. ISO8601, I 및 T DateTime 토큰 절을 참조하십시오.
  6. 주의 일 필드는 주에 대한 숫자 오프셋이므로 물리적 메시지 세트 등록 정보 주의 첫 번째 요일 값에 따라 다릅니다. 예를 들어, 주의 세 번째 요일은 물리적 메시지 세트 등록 정보 주의 첫 번째 요일이 월요일로 설정된 경우 수요일입니다.
  7. 24시간 필드는 충돌하는 am/pm 필드와 함께 지정한 경우에 결과가 불확실한 시간일 수 있습니다.
  8. 분수 초 부분의 경우, 길이는 암시적으로 입력의 형식 기호 수와 일치해야 합니다. 출력은 지정된 길이로 반올림됩니다.
  9. 긴 시간대는 대륙/시 형식으로 사용할 때 최상으로 작동합니다. 마찬가지로, Unix 시스템에서는 대륙/시 형식을 사용하여 TZ 환경 변수를 지정해야 합니다.

ISO8601, I 및 T DateTime 토큰

dateTime 값이 ISO8601:2000 '날짜 및 시간 표현' 표준에 부합될 경우 형식화 기호 I 및 T를 사용할 수 있는지 고려해야 합니다. 이는 특히 다음과 같은 ISO8601 표준의 서브세트와 일치합니다.

이 기호는 고유한 방식으로만 사용되어야 합니다.

출력 시 논리 데이터 유형에 따라 다음 형식이 적용됩니다.

논리 MRM 데이터 유형 논리 ESQL 데이터 유형 출력 형식
xsd:dateTime TIMESTAMP 또는 GMTTIMESTAMP yyyy-MM-dd'T'HH:mm:ss.SSSZZZ
xsd:date DATE yyyy-MM-dd
xsd:gYear INTERVAL yyyy
xsd:gYearMonth INTERVAL yyyy-MM
xsd:gMonth INTERVAL --MM
xsd:gmonthDay INTERVAL --MM-dd
xsd:gDay INTERVAL ---dd
xsd:time TIME / GMTTIME 'T'HH:mm:ss.SSSZZZ
주:
  • 입력 시 I 및 T 모두 UTC(Coordinated Universal Time)와의 시간차가 0임을 표시하는 '+00:00' 및 'Z'를 승인하지만 출력 시에는 항상 '+00:00'이 생성됩니다. 출력 시에 항상 'Z'가 생성되어야 하는 경우 대체 IU 또는 TU 형식화 기호를 사용해야 합니다.
  • ZZZ가 항상 '+00:00'을 출력하여 UTC(Coordinated Universal Time)와의 시간차가 0임을 표시합니다. 출력 시에 'Z'가 항상 생성되어야 하는 경우 대체 ZZZU 형식을 사용해야 합니다.

출력에서 입력 UTC 형식 사용

문자열로 dateTime이 포함된 논리 유형 xsd:dateTime 또는 xsd:time의 요소나 속성은 Z 문자 또는 시간대 +00:00을 사용하여 UTC(Consolidated Universal Time)를 지정할 수 있습니다. 입력 시 MRM 구문 분석기가 해당 요소 및 속성의 UTC 형식을 기억합니다. 출력 시 요소 또는 속성의 dateTime 형식 등록 정보를 사용하여 Z 또는 +00:00의 표시 여부를 지정할 수 있습니다. 또는 출력에서 입력 UTC 형식 사용 메시지 세트 등록 정보를 점검하여 입력 UTC 형식을 보존할 수 있습니다. 이 등록 정보가 점검되면 UTC 형식이 출력 메시지에 보존되고 dateTime 형식 등록 정보가 의미하는 내용을 대체합니다.

다음 표에서는 dateTime 형식의 몇 가지 예를 보여줍니다.

형식 패턴 결과
"yyyy.MM.dd'at'HH:mm:ss ZZZ" 1996.07.10 at 15:08:56 -05:00
EEE, MMM d, "yy" Wed, July 10, '96
"h:mm a" 8:08 PM
"hh 'o''clock' a, ZZZZ" 09 o'clock AM, GMT+09:00
"K:mm a, ZZZ" 9:34 AM, -05:00
"yyyy.MMMMM.dd hh:mm aaa" 1996.July.10 12:08 PM
관련 개념
메시지 모델링
메시지 모델
관련 태스크
메시지 모델 개발
메시지 정의 파일 관련 작업
메시지 모델 오브젝트에 대한 작업
관련 참조
메시지 모델 참조 정보
메시지 모델 오브젝트 등록 정보
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ad09291_