ayuda de fecha/hora

Zonas horarias

Postgresdebe tener información tabular interna para decodificar la zona horaria, desde que no hay un sistema estandar de interface *nix para proveer acceso a lo general, información de zona de tiempo cruzada. El SO subyacente es usado para proveer información de zona de tiempo parasalidas.

Tabla UG1-1. Zonas de tiempo reconocidas porPostgres

Zona de Tiempofuera de UTCdescripción
NZDT+13:00Hora de luz del día de nueva Zelanda
IDLE+12:00Fecha internacional lineal, Este
NZST+12:00Hora Std de Nueva Zelanda
NZT+12:00Hora de Nueva Zelanda
AESST+11:00 Hora de verano Std de Australia del este
ACSST+10:30 Hora de verano Std de Australia Central
CADT+10:30 Hora de luz del día de Australia
SADT+10:30Hora de luz del día de Australia del sur
AEST+10:00 Hora Std de Australia del este
EAST+10:00 Hora Std de Australia del Este
GST+10:00Hora de Guam Std, Zona 9 de USSR
LIGT+10:00Melbourne, Australia
ACST+09:30 Hora Std de Australia Central
CAST+09:30 Hora Std de Australia Central
SAT+9:30Hora Std de Australia del sur
AWSST+9:00 Hora Std de verano de Austrialia del oeste
JST+9:00Hora Std de Japón, Zona 8 de USSR
KST+9:00Hora estandart de Korea
WDT+9:00Hora de luz del día del Oste de Australia
MT+8:30Hora de Moluccas
AWST+8:00 Hora Std de Australia del oeste
CCT+8:00 Hora de la costa de China
WADT+8:00Hora de luz del día del oeste de australia
WST+8:00Hora Std del Oeste de Australia
JT+7:30Hora de Java
WAST+7:00Hora Std del Oeste de Australia
IT+3:30Hora de Irán
BT+3:00 Hora de Baghdad
EETDST+3:00 Hora de luz del día en Europa del este
CETDST+2:00 Hora de luz del día en Europa Central
EET+2:00 Europa del Este,Zona 1 de USSR
FWT+2:00Hora de invierno Frances
IST+2:00Hora Std de Israel
MEST+2:00Hora de verano de Europa del centro
METDST+2:00Hora de luz del día en Europa del centro
SST+2:00Hora de verano de Suecia
BST+1:00 Hora de verano de Inglaterra
CET+1:00 Hora de Europa central
DNT+1:00 Hora normal de Dansk
DST+1:00 Hora estandart de Dansk(?)
FST+1:00 Hora de verano Francesa
MET+1:00Hora de Europa del Centro
MEWT+1:00Hora de invierno de Europa del Centro
MEZ+1:00Zona de Europa del Centro
NOR+1:00Hora estandart de Norway
SET+1:00Hora de Seychelles
SWT+1:00Hora de invierno de Suecia
WETDST+1:00Hora de luz del día del Oeste de Europa
GMT0:00Hora principal de Greenwish
WET0:00Europa del Oeste
WAT-1:00Hora del oeste de Africa
NDT-2:30Hora de luz del día de Newfoundland
ADT-03:00 Hora de luz del día de Atlantic
NFT-3:30Hora estandart de Newfoundland
NST-3:30Hora estandart de Newfoundland
AST-4:00 Hora Std de Atlantic(Canada)
EDT-4:00 Hora de luz del día del este
ZP4-4:00GMT +4 hours
CDT-5:00 Hora de luz del día Central
EST-5:00 Hora estandart del este
ZP5-5:00GMT +5 hours
CST-6:00 Hora Std Central
MDT-6:00Hora de luz del día de la Montaña
ZP6-6:00GMT +6 hours
MST-7:00Hora estandart de la montaña
PDT-7:00Hora de luz del día del Pacífico
PST-8:00Hora Std del Pacífico
YDT-8:00Hora de luz del día de Yukon
HDT-9:00Hora de luz del día en Hawaii/Alaska
YST-9:00Hora estandart de Yukon
AHST-10:00 Hora Std de Alaska-Hawaii
CAT-10:00 Hora de Alaska Central
NT-11:00Hora Nome
IDLW-12:00Linea de Fecha Internacional, Oeste

Zonas Horarias Australianas

Las zonas horarias Australianas y sus variantes de denominación cuentan con un curato de la totalidad de las zonas horarias de la tabla de búsqueda de las zonas horarias de Postgres. Hay dos conflictos de denominación con zonas horarias en común definidas en los Estados Unidos, CST y EST.

Si la opción del compilador USE_AUSTRALIAN_RULES esta activa entonces CST y EST se interpretaran siguiendo los convenios Australianos.

Tabla UG1-2. Zonas Horarias Australianas de Postgres

Zona HorariaDesplazamiento desde UTCDescripción
CST+10:30Tiempo Estándar Central de Australia
EST+10:00Tiempo Estándar Oriental de Australia

Interpretación de las entradas de Fecha/tiempo

Los tipos de fecha/tiempo son todos decodificados usando un conjunto de rutinas comunes.

Interpretación de las entradas de Fecha/tiempo

  1. Partiendo la cadena de entrada en muestras y clasificando cada uno de las marcas como cadena, tiempo, zona horaria, o número.

    1. Si la muestra contiene dos puntos (":"), esto es una cadena de tiempo.

    2. si la muestra contiene un guión ("-"), barra ("/"), o un punto ("."), esto es una cadena de fecha que puede tener el nombre del mes.

    3. Si la muestra es solamente numérica, entonces es cualquiera de estas opciones un campo sencillo un fecha concatenada ISO-8601 (p.e. "19990113" para 13 Enero del 1999) o tiempo (p. e. 141516 para 14:15:16).

    4. Si la muestra comienza con un mas ("+") o un menos ("-"), entonces es o una zona horaria o un campo especial.

  2. Si la muestra es una cadena de texto, compara con posibles cadenas.

    1. Hacer un búsqueda binaria en la tabla de consulta de la muestra para cada cadena especial (p. e. today), day (p. e. Thursday), month (p. e. January), o noise word (p. e. on).

      Pone los valores del campo y la mascara de bit para los campos. Por ejemplo, pone año, mes, día para today, y adicionalmente hora, minutos, segundos para now.

    2. Si no lo encuentra, hace una búsqueda binaria similar en la tabla de consulta para encontrar la muestra a la zona horaria.

    3. Si no lo encuentra, lanza un error.

  3. La muestra es un número o un campo numérico.

    1. Si hay más de 4 dígitos, y si no se ha leído con posterioridad otro campo de tipo fecha, entonces lo interpretará como un "fecha concatenada" (e.g. 19990118). Con 8 y 6 dígito se interpreta como año, mes, y día, mientras que con 7 y 5 dígitos se interpreta como año, día del año, respectivamente.

    2. Si la muestra tiene 3 dígitos y un año ha sido decodificado, entonces se interpreta como día del año.

    3. Si es más largo que dos dígitos, entonces se interpreta como el año.

    4. Si está en modo fecha Europea, y si el campo día no ha sido leído todavía, y si el valor es más pequeño o igual a 31, entonces se interpreta como un día.

    5. Si el campo mes no ha sido leído todavía, y si el valor es más pequeño o igual que 12, entonces se interpreta como un mes.

    6. Si el campo día no ha sido leído todavía, y si el valor es más pequeño o igual que 31, entonces se interpreta como un día.

    7. Si no, se interpreta como un año.

  4. Si se ha especificado AC, anula el año y desplaza uno al almacenado interno (no hay año cero en el calendario Gregoriano, pero numéricamente 1AC es el año cero).

  5. Si no se ha especificado, y si el campo año tiene dos dígitos de longitud, entonces ajustamos el año a 4 dígitos. Si el campo no es más pequeño que 70, entonces sumamos 2000; si no, sumamos 1900.

    Sugerencia

    Los años Gregorianos 1-99AD pueden ser introducidos usando 4 dígitos precedidos por ceros (p. e. 0099 es 99AD). Los tres dígitos también son aceptados como un año bajo muchas circunstancias, sin embargo dependiendo de la posición la cadena numérica puede ser interpreta en lugar de un día.