lsolesen\pel\PelEntryTime::convertJdToGregorian PHP Method

convertJdToGregorian() public method

Converts a Julian Day count to a year/month/day triple.
public convertJdToGregorian ( $jd ) : array
return array an array with three entries: year, month, day.
    public function convertJdToGregorian($jd)
    {
        // Special case mapping 0 -> 0/0/0
        if ($jd == 0) {
            return array(0, 0, 0);
        }
        $l = $jd + 68569;
        $n = floor(4 * $l / 146097);
        $l = $l - floor((146097 * $n + 3) / 4);
        $i = floor(4000 * ($l + 1) / 1461001);
        $l = $l - floor(1461 * $i / 4) + 31;
        $j = floor(80 * $l / 2447);
        $d = $l - floor(2447 * $j / 80);
        $l = floor($j / 11);
        $m = $j + 2 - 12 * $l;
        $y = 100 * ($n - 49) + $i + $l;
        return array($y, $m, $d);
    }