How does the date("W") function behave at the end of the year in PHP?

When using the date("W") function in PHP, it calculates the week number based on the ISO-8601 standard, where the first week of the year is the week containing January 4th. This can lead to the last week of the year being counted as week 1 of the following year if January 1st falls on a Friday, Saturday, or Sunday. To ensure the correct week number is displayed at the end of the year, you can adjust the calculation by checking if the week number is 1 and the month is December, then subtract 1 from the week number.

$weekNumber = date("W");
$month = date("n");

if ($weekNumber == 1 && $month == 12) {
    $weekNumber = 52;
}

echo $weekNumber;