시간_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 범위를 벗어난 날짜 또는 타임스탬프 값을 인코딩 또는 디코딩하면 오류가 발생합니다.

표 1. Time_t 및 Performance ' ServerNetezza® 날짜 및 타임스탬프 변환 예시
그레고리력 날짜 및 시간 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