Supporto per le strutture temporali time_t
L'API fornisce funzioni per lavorare con la struttura time_t del C++. Le implementazioni di time_t differiscono nei vari sistemi; l'implementazione di Netezza Performance Server utilizza l'implementazione signed int32. Questa è l'implementazione utilizzata dai compilatori gcc 3.4.5 e diab, utilizzati da Netezza Performance Server per la compilazione di UDX. Questa implementazione ha una limitazione: supporta solo date comprese tra l'1/1/1970 e l'1/19/2038, ovvero valori da 0 a 2147483647, inclusi. Sebbene lo standard della struttura time_t supporti valori al di fuori di questo intervallo, il comportamento di questi altri valori non è garantito. Nelle restanti sezioni di questo documento si fa riferimento a questa specifica implementazione come "time_t".
L'API di aiuto ai tipi di dati supporta solo la decodifica e la codifica tra time_t e i tipi di dati Netezza Performance Server Date e Timestamp. Poiché l'intervallo di time_t è un sottoinsieme dell'intervallo di Netezza Performance Server Date e Timestamp, questa conversione consente solo valori nell'intervallo di time_t. La tabella seguente elenca diversi valori correlati tra time_t, Netezza Performance Server Date e Netezza Performance Server Timestamp. L'uso delle funzioni API per codificare o decodificare valori di Data o Timestamp al di fuori dell'intervallo di time_t provoca errori.
| Data e ora del calendario gregoriano | valore time_t a UTC + 0:00 (GMT) | NZ Valore della data | Valore del timestamp NZ |
|---|---|---|---|
| Data NZ più bassa supportata: 1/1/0001, 00:00:00 | NON DEFINITO | -730.119 | -63.082.281.600.000.000 |
| time_t Inizio epoca: 1/1/1970, 00:00:00 | 0 | -10.957 | -946.684.800.000.000 |
| NZ giorno zero: 1/1/2000, 00:00:00 | 946.684.800 | 0 | 0 |
| time_t Fine dell'epoca: 1/19/2038, 03:14:07 | 2.147.483.647 | 13.898 | 1.200.798.847.000.000 |
| Data NZ più alta supportata: 31.12.1999, 11:59:59.999999 | NON DEFINITO | 2.921.939 | 252.455.615.999.999.999 |