시간_t 시간 구조 지원
API는 C++ time_t 구조로 작업하기 위한 함수를 제공합니다. 시간_t의 구현은 시스템마다 다르며, Netezza Performance Server 구현은 서명된 int32 구현을 사용합니다. 이것은 Netezza Performance Server UDX 컴파일을 위해 사용하는 gcc 3.4.5 및 diab 컴파일러에서 사용하는 구현입니다. 이 구현에는 1970년 1월 1일에서 2038년 1월 19일 사이의 날짜, 즉 0에서 2147483647 사이의 값만 지원한다는 제한이 있습니다. Time_t 구조 표준은 이 범위를 벗어나는 값을 지원하지만 다른 값의 동작은 보장되지 않습니다. 이 문서의 나머지 섹션에서는 이 특정 구현을 "time_t"로 지칭합니다.
데이터 유형 도우미 API는 time_t와 Netezza Performance Server 날짜 및 타임스탬프 데이터 유형 간의 디코딩 및 인코딩만 지원합니다. Time_t 범위는 Netezza Performance Server 날짜 및 타임스탬프 범위의 하위 집합이므로, 이 변환은 time_t 범위의 값만 허용합니다. 다음 표에는 time_t, Netezza Performance Server 날짜 및 Netezza Performance Server 타임스탬프 간의 상관 관계가 있는 몇 가지 값이 나열되어 있습니다. API 함수를 사용하여 time_t 범위를 벗어난 날짜 또는 타임스탬프 값을 인코딩 또는 디코딩하면 오류가 발생합니다.
| 그레고리력 날짜 및 시간 | uTC + 0:00(GMT)의 time_t 값 | 뉴질랜드 날짜 값 | 뉴질랜드 타임스탬프 값 |
|---|---|---|---|
| 지원되는 최저 NZ 날짜: 1/1/0001, 00:00:00 | 정의되지 않음 | -730,119 | -63,082,281,600,000,000 |
| time_t 에포크 시작: 1/1/1970, 00:00:00 | 0 | -10,957 | -946,684,800,000,000 |
| 뉴질랜드 제로 데이: 1/1/2000, 00:00:00 | 946,684,800 | 0 | 0 |
| time_t 에포크 종료: 1/19/2038, 03:14:07 | 2,147,483,647 | 13,898 | 1,200,798,847,000,000 |
| 최고 지원 뉴질랜드 날짜: 12/31/9999, 11:59:59.999999 | 정의되지 않음 | 2,921,939 | 252,455,615,999,999,999 |