0

ユリウス日からグレゴリオ暦に移行するPHPの例を次に示します。

$jd = gregoriantojd(10,3,1975);
echo($jd . "<br />");

$gregorian = jdtogregorian($jd);
echo($gregorian);

Output:
2442689
10/3/1975

これは、完全なユリウス日がある場合は機能しますが、「254」や「2012」のようなユリウス日しかない場合はどうでしょうか。PHPを使用して、ユリウス日とグレゴリオ暦の年だけでグレゴリオ暦の日付を取得するにはどうすればよいですか?

ユリウス日数のグラフは次のとおりです。

http://landweb.nascom.nasa.gov/browse/calendar.html

これはPHPで可能ですか?

編集:答えに基づいて、これが私が思いついたものですが、もっと簡単な方法があるかもしれません:

$JulianDay = 77;
$Year = 1977;
$DateYear = date("Y/m/d", mktime(0, 0, 0, 1, 1, $Year));
$GregDate = new DateTime($DateYear);
$GregDate->modify("+$JulianDay day");
$Date = $GregDate->format('Y/m/d');
echo $Date; // '1977/03/19'
4

3 に答える 3

1
echo jdtogregorian(gregoriantojd(01, 01, 2012)+253);

2012 年の 254 が 9 月 10 日である場合 (リンクからのようです)、正常に動作します。

于 2012-08-30T14:59:40.563 に答える
0
$date = strtotime('+'.YourDay.' days', mktime(0, 0, 0, 0, 0, YourYear));

strtotime は信じられないほどの機能です

于 2012-08-30T15:00:31.407 に答える