Convertir una fecha gregoriana a juliana

6003 vistas

Para convertir una fecha de formato gregoriano a juliano, simplemente tenemos que hacer una llamada a la función DateTimeToJulianDate() definida en DateUtils.



delphi
  1. uses
  2.   DateUtils;
  3. var
  4.   DiaJuliano: Extended;
  5.   DateC: TDateTime;
  6.   Ano, Mes, Dia: Word;
  7.   Hora, Minuto, Segundo: Word;
  8. begin
  9.   DateC := EncodeDateTime(Ano, Mes, Dia, Hora, Minuto, segundo, 0);
  10.   DiaJuliano := DateTimeToJulianDate(DateC);
  11. end;



Atención: para que el resultado de la función DateTimeToJulianDate(date) de Delphi devuelva un valor correcto, es necesario que la fecha sea estrictamente más grande al 15/10/1582 00:00:00 (inicio del calendario gregoriano). Antes de esta fecha falta el desfase de 10 dias entre los dos calendarios. Para las fechas estrictamente inferiores al 5 de octubre 1582, simplemente hay que añadir 10 al resultado de la función de Delphi. Donde no se puede calcular los días julianos es entre las fechas del 5 al 14 de octubre 1582 debido a que éstas no existen.