Conversión entre la fecha juliana y el calendario gregoriano

La fecha juliana cuenta los días desde el 1 de enero de 4713 a. C. Chr. (JD = 0) hasta. Esta fecha se basa en el calendario juliano proléptico (avanzado) , que se introdujo más tarde.

El calendario gregoriano se introdujo en 1582 para compensar la desviación del calendario juliano del año solar.

Conversión controlada por tabla

diferencia Datos
0 días 4 de octubre de 1582 Jul.
10 días 5 de octubre de julio. / 15 de octubre de 1582 greg.
10 días 28 de febrero Jul. / 10 de marzo de 1700 greg.
11 días 29 de febrero Jul. / 11 de marzo de 1700 greg.
11 días 1 de marzo de julio / 12 de marzo de 1700 greg.
11 días 28 de febrero Jul. / 11 de marzo de 1800 greg.
12 días 29 de febrero Jul. / 12 de marzo de 1800 greg.
12 días 1 de marzo de julio / 13 de marzo de 1800 greg.
12 días 28 de febrero Jul. / 12 de marzo de 1900 greg.
13 días 29 de febrero Jul. / 13 de marzo de 1900 greg.
13 días 1 de marzo de julio / 14 de marzo de 1900 greg.
13 días 15 de febrero jul. / 28 de febrero de 2000 greg.
13 días 16 de febrero, julio / 29 de febrero de 2000 greg.
13 días 17 de febrero Jul. / 1 de marzo de 2000 greg.
13 días 28 de febrero Jul. / 12 de marzo de 2000 greg.
13 días 29 de febrero Jul. / 13 de marzo de 2000 greg.
13 días 1 de marzo de julio / 14 de marzo de 2000 greg.
13 días 28 de febrero Jul. / 13 de marzo de 2100 greg.
14 dias 29 de febrero Jul. / 14 de marzo de 2100 greg.
14 dias 1 de marzo de julio / 15 de marzo de 2100 greg.

En la reforma del calendario de 1582, se saltaron diez días. Estos diez días marcan la diferencia entre los dos calendarios hasta el 29 de febrero de julio. / 11 de marzo de 1700 greg. . En el calendario juliano sigue un día bisiesto, en el gregoriano 1700 no tiene día bisiesto, por lo que la diferencia con el 1 de marzo es julio. / 12 de marzo de 1700 greg. once días. En cada uno de los años 1800, 1900, 2100, 2200, 2300, 2500, etc., el intervalo entre la fecha gregoriana y la juliana aumenta en un día más. Tanto en el siglo XX como en el XXI, son 13 días. El 8 de julio de julio. / 21 de julio de 1969 greg. Entró Neil Armstrong se convirtió en el primer hombre en la luna.

Día actual

En este cálculo, el recuento de días desde el comienzo del año, comenzando con 0, se denomina día actual (LT). LT = 0 para el 1 de enero, LT = 364 (año normal) o LT = 365 (año bisiesto) para el 31 de diciembre .

Para convertir entre la fecha y el día actual, consulte Cálculo del día actual .

El criterio de año bisiesto a aplicar es:

Los años bisiestos suelen ser los años divisibles entre 4. Sin embargo:
Los años divisibles por 100 son solo años bisiestos si son divisibles por 400. (Entonces, por ejemplo, 2000 fue un año bisiesto, 1900 no lo fue).

Año actual

En este cálculo, el comienzo del calendario gregoriano se adelanta al 1 de enero del año 1. Esto significa que el calendario comienza al comienzo de un ciclo de 400 años y el cálculo se simplifica. El año actual (LJ) es el número de años a partir de este año de inicio. Para el año 1 , LJ = 0, para el año 2 , LJ = 1, etc. La fecha juliana de este día es JD0 = 1721426.

Calendario gregoriano → Fecha juliana

El día actual (LT) se determina a partir del mes (M) y el día (T), teniendo en cuenta el criterio del año bisiesto (ver conversión entre la fecha juliana y el calendario juliano ).

Luego, el año actual (LJ) se calcula a partir del año (J):

 LJ = J - 1

Para calcular la fecha juliana, se calcula el número de ciclos completos de 400 años (N400) desde el año de inicio y el número de años completos (R400) en el último ciclo incompleto de 400 años:

 N400 = LJ/400 (ganzzahlig)
 R400 = Rest dieser Division

El número de ciclos completos de 100 años (N100) del último ciclo de 400 años y el número de años completos (R100) en el último ciclo incompleto de 100 años se calculan a partir de R400:

 N100 = R400/100 (ganzzahlig)
 R100 = Rest dieser Division

Luego, el número de ciclos completos de 4 años (N4) del último ciclo de 100 años y el número de años completos (N1) en el último ciclo incompleto de 4 años se calculan a partir de R100:

 N4 = R100/4 (ganzzahlig)
 N1 = Rest dieser Division

Luego, la fecha juliana se calcula de la siguiente manera:

 JD = JD0 + N400*146097 + N100*36524 + N4*1461 + N1*365 + LT

Los números son la duración de los ciclos en días. 1461 (3 * 365 + 366) para el ciclo de 4 años, 36524 (24 * 1461 + 1460) para el ciclo de 100 años y 146097 (3 * 36524 + 36525) para el ciclo de 400 años.

Fecha juliana → Calendario gregoriano

Para calcular una fecha en el calendario gregoriano con una fecha juliana determinada, se calcula el número de ciclos completos de 4 años (N400) desde el año de inicio y el número de días (R400) del último ciclo incompleto de 400 años:

 N400 = (JD - JD0)/146097 (ganzzahlig)
 R400 = Rest dieser Division

A continuación, se calcula el número de ciclos completos de 100 años (N100) del ciclo incompleto de 400 años y el número de días (R100) del último ciclo incompleto de 100 años:

 N100 = R400/36524 (ganzzahlig)
 R100 = Rest dieser Division

El último día del ciclo, el cálculo da como resultado N100 = 4 y R100 = 0. En este caso, los valores deben corregirse:

 falls (N100=4) setze N100=3 und R100=36524

Luego se calcula el número de ciclos completos de 4 años (N4) del ciclo incompleto de 100 años, así como el número de días (R4) del último ciclo incompleto de 4 años:

 N4 = R100/1461 (ganzzahlig)
 R4 = Rest dieser Division

Finalmente, se calcula el número de años completos (N1) del ciclo incompleto de 4 años, así como el día actual (LT) del último año:

 N1 = R4/365 (ganzzahlig)
 LT = Rest dieser Division

El último día del ciclo, el cálculo da como resultado N1 = 4 y LT = 0. En este caso, los valores deben corregirse:

 falls (N1=4) setze N1=3 und LT=365

El año actual LJ da como resultado:

 LJ = 400*N400 + 100*N100 + 4*N4 + N1

El cálculo del año (J) de LJ resulta de:

 J = LJ + 1

Para calcular el mes (M) y el día (D) a partir de LT, consulte Conversión entre una fecha juliana y un calendario juliano .

Ejemplos

Calendario gregoriano en fecha juliana

  1.1.2000 GK:   SK  = 0
                 MK  = -1
                 LT  = T + 30*(M-1) + SK + MK
                     = 1 + 30*0 - 1
                     = 0
                 LJ  = J - 1
                     = 1999
                 N400= LJ/400
                     = 4
                  R400= 399   (Rest davon)
                 N100= R400/100
                     = 3
                 R100= 99    (Rest davon)
                 N4  = R100/4
                     = 24
                 N1  = 3     (Rest davon)
                 JD  = JD0 + N400*146097 +                    = 1721426 + 584388 + 109572 + 35064 + 1095 + 0
 --> 2451545 JD
 31.12.1600 GK:  SK  = 1
                 MK  = 3
                 LT  = T + 30*(M-1) + SK + MK
                     = 31 + 30*11 + 1 + 3
                     = 365
                 LJ  = J - 1
                     = 1599
                 N400= LJ/400
                     = 3
                 R400= 399   (Rest davon)
                 N100= R400/100
                     = 3
                 R100= 99    (Rest davon)
                 N4  = R100/4
                     = 24
                 N1  = 3     (Rest davon)
                 JD  = JD0 + N400*146097 + N100*36524 + N4*1461 + N1*365 + LT
                     = 1721426 + 3*146097 + 109572 + 35064 + 1095 + 365
 --> 2305813 JD

Fecha juliana en el calendario gregoriano

 2451545 JD:    N400= (JD - JD0)/146097
                    = 730119/146097
                    = 4
                R400= 145731  (Rest davon)
                N100= R400/36524
                    = 3
                R100= 36159  (Rest davon)
                N4  = R100/1461
                    = 24
                R4  = 1095  (Rest davon)
                N1  = R4/365
                    = 3
                LT  = 0   (Rest davon)
                LJ  = 400*N400 + 100*N100 + 4*N4 + N1
                    = 1999
                 J  = LJ + 1
                    = 2000
                 M  = (LT+1)/30 + 1
                    = 1
                SK  = 0
                MK  = -1
                 T  = LT - 30*(M-1) - (SK + MK)
                    = 0 - 30*0 + 1
                    = 1
 --> 1.1.2000 GK
 2305813 JD:    N400= (JD - JD0)/146097
                    = 584387/146097
                    = 3
                R400= 146096  (Rest davon)
                N100= R400/36524
                    = 4
                R100= 0  (Rest davon)
                Korrektur, da N100=4:
                N100= 3
                R100= 36524
                N4  = R100/1461
                    = 24
                R4  = 1460  (Rest davon)
                N1  = R4/365
                    = 4
                LT  = 0   (Rest davon)
                Korrektur, da N1=4:
                N1  = 3
                LT  = 365
                LJ  = 400*N400 + 100*N100 + 4*N4 + N1
                    = 1599
                 J  = LJ + 1
                    = 1600
                 M  = (LT+1)/30 + 1
                    = 13
                Korrektur, da M>12:
                 M  = 12
                SK  = 1
                MK  = 3
                 T  = LT - 30*(M-1) - (SK + MK)
                    = 365 - 30*11 - 4
                    = 31

Fecha juliana → Calendario gregoriano: Otras posibles conversiones

Ejemplar:

            JD = 2447892,5

Agregue 0.5 al JD e inserte la parte entera para Z y la parte decimal (parte después del punto decimal) para F. Tenga en cuenta si:

Z <2299161 entonces:

                     a = Z

Z> 2299161 entonces:

                     a = INT ((Z - 1867216.25) / 36524.25)
                     A = Z + 1 + a - INT (a / 4)
                     B = A + 1524
                     C = INT ((B - 122.1) / 365.25)
                     D = INT (365.25 * C)
                     E = INT ((B - D) / 30.6001)

El día se calcula a partir de:

                     T = B - D - INT (30.6001 * E) + F

El mes:

                     M = E - 1 	wenn E < 14
                     M = E - 13    wenn E = 14 oder 15

El año:

                     Y = C - 4716 	wenn m > 2
                     Y = C - 4715  wenn m = 1 oder 2

Se obtienen los siguientes valores:

                    JD = 2447892,5 + 0.5
                       = 2447893
                     Z = 2447893
                     F = 0

Como Z> 2299161 ahora se obtiene:

                     a = INT ((2447893 - 1867216.25) / 36524.25)
                       = 15
                     A = 2447893 + 1 + 15 - INT (15 / 4)
                       = 2447906
                     B = 2449430
                     C = 6705
                     D = 2449001
                     E = 14

Resultado:

                     T = 1 	
                     M = E - 13 	
                       = 1    	denn E = 14
                     Y = C - 4715	
                       = 1990 	denn m = 1

La fecha que estábamos buscando es el 1 de enero de 1990.

Determina el día de la semana.

Esto se hace con la ayuda de la fecha juliana. Primero calcule el YD para la fecha dada, sume esto por 1.5 y divida el resultado por 7. El resto de la división ( módulo ) muestra el día de la semana:

                    0 = Sonntag
                    1 = Montag
                        ...
                    6 = Samstag

Usando el ejemplo: 1 de enero de 1990

       1. Januar 1990 = 2447892,5
      2447892,5 + 1.5 = 2447894
        2447894 MOD 7 = 1

El 1. de Enero de 1990 fue Lunes .

Funciones existentes en sistemas informáticos

Tales conversiones para rangos de tiempo desde algunas décadas antes o después del presente (principios del siglo XXI) se llevan a cabo mediante sistemas operativos de computadora comunes y entornos de ejecución (por ejemplo, como una función mktime()para C ++ y otros lenguajes de programación ). En sistemas similares a Unix, la fecha juliana se puede calcular dividiendo los "segundos desde 01/01/1970 00:00 ( time_t)" por 60 * 60 * 24 = 86400 y sumando la constante 2440587.5. Por lo tanto, tales conversiones solo deben implementarse en programas de computadora para rangos de tiempo adicionales o en microcontroladores autónomos (si no hay disponible un entorno de ejecución completo en estos).

enlaces web