Здравствуйте! Нужно определеть дату понедельника, имея Unix время опделенного дня недели. К примеру: 1584003600 (11:00 12,03,2020 среда) нужно определить дату понедельника текущей недели (сейчас 02.03.2020). Может быть как текущая неделя, так і на несклько месяцев вперед/назад. Заранее спасибо!
$nday = date('w', $unix_time); if ($nday == 0){ $min = 6; } else { $min = $nday - 1; } $swee = date('Ymd', strtotime('-'.$min.' day', $unix_time));
@Miroslav, или так: PHP: $ut = 1584003600; $dt = DateTime::createFromFormat('U', $ut); echo 'Date: '.$dt->format('Y-m-d'); $dt->modify('monday this week'); echo '; Monday: '.$dt->format('Y-m-d');
@Miroslav если новая дата тебе нужна также в виде unix timestamp, то вот PHP: strtotime("last monday", 1584003600) ну или "monday this week" вроде бы эффект одинаковый. дивись в документацію https://www.php.net/manual/ru/datetime.formats.relative