B.6. Historial de unidades #

El estándar SQL establece que Dentro de la definición de un literal de fecha/hora, los valores de fecha/hora están limitados por las reglas naturales para fechas y horas de acuerdo con el calendario gregoriano. PostgreSQL sigue el estándar SQL contando las fechas exclusivamente en el calendario gregoriano, incluso para los años anteriores a que dicho calendario estuviera en uso. Esta regla se conoce como el calendario gregoriano proléptico.

El calendario juliano fue introducido por Julio César en el año 45 a.C. Estuvo en uso común en el mundo occidental hasta el año 1582, cuando los países comenzaron a cambiar al calendario gregoriano. En el calendario juliano, el año trópico se aproxima a 365 1/4 días = 365.25 días. Esto genera un error de aproximadamente 1 día cada 128 años.

El error acumulado del calendario llevó al Papa Gregorio XIII a reformar el calendario de acuerdo con las instrucciones del Concilio de Trento. En el calendario gregoriano, el año trópico se aproxima a 365 + 97 / 400 días = 365.2425 días. Por lo tanto, el año trópico tarda aproximadamente 3300 años en desplazarse un día con respecto al calendario gregoriano.

La aproximación 365+97/400 se logra teniendo 97 años bisiestos cada 400 años, utilizando las siguientes reglas:

Cada año divisible por 4 es bisiesto.
Sin embargo, cada año divisible por 100 no es bisiesto.
Sin embargo, cada año divisible por 400 sigue siendo bisiesto después de todo.

Por lo tanto, 1700, 1800, 1900, 2100 y 2200 no son años bisiestos. Pero 1600, 2000 y 2400 sí lo son. Por el contrario, en el calendario juliano más antiguo todos los años divisibles por 4 son años bisiestos.

La bula papal de febrero de 1582 decretó que se debían eliminar 10 días de octubre de 1582, de modo que el 15 de octubre siguiera inmediatamente al 4 de octubre. Esto se cumplió en Italia, Polonia, Portugal y España. Otros países católicos lo hicieron poco después, pero los países protestantes se mostraron reacios a cambiar, y los países ortodoxos griegos no cambió hasta principios del siglo XX. La reforma fue adoptada por Gran Bretaña y sus dominios (incluyendo lo que ahora son los EE. UU.) en 1752. Por lo tanto, al 2 de septiembre de 1752 le siguió el 14 de septiembre de 1752. Es por esto que los sistemas Unix que tienen el programa cal producen lo siguiente:

$ cal 9 1752
   September 1752
 S  M Tu  W Th  F  S
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

But, por supuesto, este calendario solo es válido para Gran Bretaña y sus dominios, no para otros lugares. Dado que sería difícil y confuso intentar realizar un seguimiento de los calendarios reales que estaban en uso en varios lugares en distintas épocas, PostgreSQL no lo intenta, sino que sigue las reglas del calendario gregoriano para todas las fechas, aunque este método no sea históricamente preciso.

Se han desarrollado diferentes calendarios en diversas partes del mundo, muchos de ellos anteriores al sistema gregoriano. Por ejemplo, los inicios del calendario chino se remontan al siglo XIV a.C. La leyenda cuenta que el emperador Huangdi inventó ese calendario en el año 2637 a.C. La República Popular China utiliza el calendario gregoriano para fines civiles. El calendario chino se utiliza para determinar las festividades.