Soporte para estructuras temporales time_t
La API proporciona funciones para trabajar con la estructura de C++ time_t. Las implementaciones de time_t difieren en los distintos sistemas; la implementación de Netezza Performance Server utiliza la implementación signed int32. Esta es la implementación que utilizan los compiladores gcc 3.4.5 y diab, utilizados por Netezza Performance Server para la compilación UDX. Esta implementación tiene una limitación, concretamente soporta fechas sólo entre el 1/1/1970 y el 1/19/2038, que son valores de 0 a 2147483647, incluidos. Aunque el estándar de la estructura time_t soporta valores fuera de ese rango, el comportamiento de esos otros valores no se garantiza. El resto de la sección de este documento hace referencia a esta implementación específica como "time_t".
La API de ayuda de tipos de datos sólo admite la descodificación y codificación entre time_t y los tipos de datos Date y Timestamp de Netezza Performance Server. Dado que el rango de time_t es un subconjunto del rango de Netezza Performance Server Date y Timestamp, esta conversión sólo permite valores en el rango de time_t. La siguiente tabla enumera varios valores correlacionados entre time_t, ' Netezza Performance Server Date y ' Netezza Performance Server ' Timestamp. El uso de funciones de API para codificar y descodificar valores de Date o Timestamp fuera del rango de time_t da errores.
| Fecha y hora del calendario gregoriano | valor time_t en UTC + 0:00 (GMT) | valor de NZ Date | valor de NZ Timestamp |
|---|---|---|---|
| Fecha de NZ más baja soportada: 1/1/0001, 00:00:00 | SIN DEFINIR | -730.119 | -63.082.281.600.000.000 |
| Inicio de time_t Epoch: 1/1/1970, 00:00:00 | 0 | -10.957 | -946.684.800.000.000 |
| Día cero de NZ: 1/1/2000, 00:00:00 | 946.684.800 | 0 | 0 |
| Final de time_t Epoch: 1/19/2038, 03:14:07 | 2.147.483.647 | 13.898 | 1.200.798.847.000.000 |
| Fecha de NZ más alta soportada: 12/31/9999, 11:59:59,999999 | SIN DEFINIR | 2.921.939 | 252.455.615.999.999.999 |