Convertir una fecha gregoriana a juliana
Artículo por Club Developers · 31 diciembre 2005
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.
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.
delphi
uses DateUtils; var DiaJuliano: Extended; DateC: TDateTime; Ano, Mes, Dia: Word; Hora, Minuto, Segundo: Word; begin DateC := EncodeDateTime(Ano, Mes, Dia, Hora, Minuto, segundo, 0); DiaJuliano := DateTimeToJulianDate(DateC); 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.