Цитата:
Сообщение от Zames
Для вычесления Юлианской даты есть формула.
JD=INT*(365.25*(Year1 + 4716)) + INT*(30.6001*(Month1 + 1)) + Day1 - 1524.5 а также некоторое условие .Если month=1 или Month=2 тогда следует принять Year=Year-1 Month=Month+12.
|
Если предположить, что этот алгоритм правильный, то тогда у вас должно быть что-то типа того:
Код:
function TForm1.jd(year, month, day: real): real;
begin
if (month=1) or ( month=2) then
begin
Year:=Year-1;
Month:=Month+12;
end;
result:=INT(365.25*(Year + 4716)) + INT(30.6001*(Month + 1)) + Day - 1524.5;
end;
Но тогда ваша функция возвращает неправильное значение. Есть сайт
http://planetcalc.ru/503/, там калькулятор возвращает 2456547.50, моя функция возвращает 2456548, а ваша 2456560,5.