How to get the number of the day from the beginning of the year to a given date in PHP

1 Answer

0 votes
function isLeapYear(int $year): bool {
    return ($year % 4 === 0) && (($year % 100 !== 0) || ($year % 400 === 0));
}

function getDayOfYear(int $year, int $month, int $day): int {
    // cumulative days at the end of each month (non-leap year)
    $days = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];

    if (isLeapYear($year) && $month > 2) {
        return $days[$month - 1] + $day + 1;
    }
    
    return $days[$month - 1] + $day;
}

$dayOfYear = getDayOfYear(2023, 5, 15);

echo $dayOfYear; 



/*
run:

135

*/

 



answered Dec 13, 2025 by avibootz

Related questions

...