uses Math; //年月日から修正ユリウス通日へ function YMD2MJD(y,m,d:Integer):Integer; begin if (m = 1) or (m = 2) then begin y:=y-1; m:=m+12; end; //フリーゲルの公式 Result:=Floor(365.25*y) + (y div 400) - (y div 100) + Floor(30.59*(m-2)) + d -678912; end; //修正ユリウス通日から年月日へ procedure MJD2YMD(mjd:Integer; var y,m,d:Integer); var k:Integer; begin y := Floor( (mjd - 15078.2) / 365.25 ); m := Floor((mjd - 14956.1 - Floor(y*365
![[Delphi] 修正ユリウス通日と年月日の変換: プログラミングの覚え書き](https://cdn-ak-scissors.b.st-hatena.com/image/square/74a9a3ba634f4197500c8c44c9cb6f76ff0d1cd3/height=288;version=1;width=512/http%3A%2F%2Fkwikwi.cocolog-nifty.com%2F.shared-pleasy%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)