Получение первого воскресенья в любом данном году в PHP

Я составляю список всех недель в любом году, начиная с воскресенья. В них вводится год, а затем измеряются недели. Проблема в том, что воскресенья не всегда приходятся на один и тот же день, поэтому использование mktime, вероятно, не сработает.

Очевидно, что первое воскресенье каждого года не то же самое. Мне нужно настроить переменную «$ firstDayOfYear», чтобы сделать ее совместимой с каждым годом, а не только с 2020 годом — пример, который я предоставил.

Это то, что я получил до сих пор:

    $year           = $chosen_year; //entered year
    $firstDayOfYear = mktime(0, 0, 0, 1, 5, $year); //first Sunday of year (2020)
    $nextSunday     = strtotime('sunday', $firstDayOfYear); //Beginning of week
    $nextSaturday   = strtotime('saturday', $nextSunday); //End of week

Может ли кто-нибудь помочь мне с этим?


person EMcCrary    schedule 09.01.2020    source источник
comment
date('Y-m-d', strtotime('first sunday of january 2020')); и замените год любым данным годом   -  person Jay Blanchard    schedule 09.01.2020
comment
@JayBlanchard Я понял это прямо перед тем, как ты ответил. Тем не менее, я думаю, что некоторые даты немного перепутаны. Например, первое воскресенье 2023 года должно быть 1 января. Но он возвращается 8 января и полностью пропускает первую неделю. Любые идеи?   -  person EMcCrary    schedule 09.01.2020
comment
@EMcCrary 3v4l.org/SIZjp ?   -  person Jeto    schedule 09.01.2020
comment
Это работает для меня и @Jeto. Какая у вас версия PHP?   -  person Jay Blanchard    schedule 09.01.2020
comment
Я использую PHP 7.3. Как вы думаете, это проблема, если он устарел?   -  person EMcCrary    schedule 09.01.2020
comment
@JayBlanchard 3v4l.org/C3XuL Это моя полная реализация. Ты видишь, что и здесь не так.   -  person EMcCrary    schedule 09.01.2020
comment
Вы забыли of в first sunday of january sandbox.onlinephpfunctions.com/code/ Самая маленькая вещь доставит вам .   -  person Jay Blanchard    schedule 09.01.2020
comment
Ах, конечно. Мои толстые пальцы и я. Спасибо за помощь!   -  person EMcCrary    schedule 09.01.2020