Как программно получить стартовый день текущей недели, используя PHP? - PullRequest
1 голос
/ 07 апреля 2020

enter image description here

Сегодня 7 апреля, а ближайшая дата начала недели - апрель 5.

Как программно получить startDay текущей недели, используя PHP?


Я пытался

$dateStartWeek = date('N', strptime('%m-%d-%g', $dateString));
dd($dateStartWeek);

и пытался

    function getFirstDayOfWeek(DateTime $date, $firstDay = 0) {
        $offset = 7 - $firstDay;
        $ret = clone $date;
        $ret->modify(-(($date->format('w') + $offset) % 7) . 'days');
        return $ret;
    }


    $dateStartWeek = getFirstDayOfWeek(date("y-m-d"));

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Используйте формат относительной даты sunday last week

echo date("j F", strtotime('sunday last week'));

5 апреля

SandBox

0 голосов
/ 07 апреля 2020

Используйте относительные datetime форматы - https://www.php.net/manual/en/datetime.formats.relative.php

В вашем случае:

new \DateTImeImmutable('this week')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...