Sea D el día del mes, M el número de mes, e Y la cifra del año.

  • si M<=2 ⇒M=M+12 ; Y=Y-1
  • si M>2   M e Y no varían

Calculamos las siguientes magnitudes auxiliares

A=INT(Y/100)

B=2-A+INT(A/4)

Donde la función “INT” es la parte entera por defecto de la operación indicada.

El día juliano, DJ, se calcula así

DJ=INT(365,25(Y+4716) )+INT(30,6001(M+1) )+D+B-1524,5

El día juliano representa una cuenta continua de días desde el 1 de Enero del año 4713 a. C. a las 12 horas Tiempo Universal (TU). La parte decimal de nuestro día Juliano indica que para nuestros propósitos estamos calculando el día juliano de nuestra fecha de observación a las 0 h. TU.

Ejemplo

Calculemos el día juliano correspondiente al 2 de Octubre de 2013 a las 0h TU. Las variables iniciales son las siguientes

D=2

M=10

Y=2013

Las cantidades auxiliares A y B serán

A=INT(2013/100)=INT(20,13)=20

B=2-20+INT(20/4)=-18+5=-13)

Y el día juliano correspondiente al 2 de Octubre de 2013 es el

DJ=INT(365,25∙(2013+4716) )+INT(30,6001∙(10+1) )+2-13-1524,5

DJ=INT(365,25∙6729)+INT(30,6001∙11)+2-13-1524,5

DJ=INT(2457767,25)+INT(336,6011)+2-13-1524,5

DJ=2457767+336+2-13-1524,5=2456567,5

Anuncios

10 comentarios to “Conversión de fecha a día juliano”

  1. Carlos Arita Amador Says:

    Tengo entendido que la fecha inicial es el 1 de enero de 4713 y no el 4716 A.C. podrían confirmarme ese dato. Y si 4713 fuese lo correcto cuales serían los cambios en las fórmulas.

    1. Manuel Jimenez del Barco Says:

      Efectivamente, el día julino empieza su cuenta el 1 de Enero del 4713 a. C., en el texto del artículo aparece el año 4716 a. C., una errata que se ha colado. Procedo a corregirla. Sin embargo las fórmulas para obtenerlas están bien escritas, lo he vuelto a repasar y no hay que corregirlas.
      Carlos, muchas gracias por detectar esta errata.

      Saludos


      1. Hola…..una ayuda por favor…¿como puedo calcular la hora siderea local?…es para hacer un codigo en vb…Gracias


  2. Me perdir con todo esto.. necesito con urgencia convertir este fomato juliano a gregiriano.. pero no logro que funcione en oracle

  3. Diego Says:

    HOLA SALUDOS,

    NOSE PROGRAMACIÓN MUCHO DE PROGRAMACIÓN Y SERÍA INCREIBLE QUE LO EXPUESTO LO TRANSFORMARAN EN UNA FUNCION SQL ME AYUDARÍA DE MUCHO…

    1. Agustín A Says:

      Perdona Diego, este mensaje se ha quedado pendiente no visible. Si te sirve de ayuda te paso un enlace con un conversor web http://www.ugr.es/~eaznar/conversorFecha.htm. SI lo que quieres es código, en astronomía se usa actualmente el Phyton puedes ver una rutina en http://es.scribd.com/doc/170407577/Dia-Juliano-Python#scribd. Si la quieres en Sql, directamente tienes una función TO_CHAR (“AAAA-MM-DD”, j) con el parametro j te da la fecha en juliana, si quieres al reves existe TO_DATE con el mismo parámetro te pasa día juliano a fecha.

  4. Emanuel Says:

    Gracias por la formula 🙂

  5. Albert Says:

    Donde dice si M<2 ⇒M=M+12 ; Y=Y-1
    Debería decir si M<=2 ⇒M=M+12 ; Y=Y-1
    Saludos

    1. Agustín A Says:

      Gracias Albert, tienes razón corregido.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s