Вот несколько способов получить дату начала предыдущей недели в PHP:
1. Используя DateTime
$date = new DateTime(); $date->modify('last week monday'); $startOfPreviousWeek = $date->format('Y-m-d'); echo $startOfPreviousWeek;
2. Используя strtotime
$startOfPreviousWeek = date('Y-m-d', strtotime('last week monday')); echo $startOfPreviousWeek;
3. Более точный способ с учетом текущего дня
$today = new DateTime(); $dayOfWeek = $today->format('N'); // 1 (понедельник) до 7 (воскресенье) $today->modify('-' . ($dayOfWeek + 6) . ' days'); $startOfPreviousWeek = $today->format('Y-m-d'); echo $startOfPreviousWeek;
4. Для получения в виде timestamp
$timestamp = strtotime('last week monday midnight'); echo date('Y-m-d H:i:s', $timestamp);
Все эти методы вернут дату понедельника предыдущей недели. Вы можете изменить формат вывода, изменив параметры в методе format()
.