What potential pitfalls can arise when using date("W") to calculate the number of weeks in a year?

Using date("W") to calculate the number of weeks in a year can lead to inaccuracies due to the way the function calculates weeks. To accurately determine the number of weeks in a year, it is better to use the ISO-8601 week date system, which defines a week as starting on a Monday and ending on a Sunday.

function getWeeksInYear($year) {
    $date = new DateTime();
    $date->setISODate($year, 53);
    return ($date->format("W") === "53" ? 53 : 52);
}

$year = 2022;
echo getWeeksInYear($year);