Code:

function julian(year, month, day: Integer): real;

var

yr, mth: Integer;

noleap, leap, days, yrs: Real;

begin

if year < 0then yr := year + 1else yr := year;

mth := month;

if (month < 3) then

begin

mth := mth + 12;

yr := yr - 1;

end;

yrs := 365.25 * yr;

if ((yrs < 0) and (frac(yrs) <> 0)) then yrs := int(yrs) - 1else yrs := int(yrs);

days := int(yrs) + int(30.6001 * (mth + 1)) + day - 723244.0;

if days < -145068.0then julian := days

else

begin

yrs := yr / 100.0;

if ((yrs < 0) and (frac(yrs) <> 0)) then yrs := int(yrs) - 1;

noleap := int(yrs);

yrs := noleap / 4.0;

if ((yrs < 0) and (frac(yrs) <> 0)) then yrs := int(yrs) - 1;

leap := 2 - noleap + int(yrs);

julian := days + leap;

end;

end;

 

 

 

Взято с Delphi Knowledge Base: https://www.baltsoft.

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить