Сегодня в процессе работы, я столкнулся с необходимостью узнать дату ближайшего прошедшего понедельника. Вспомнив сколько раз мне уже это приходилось делать, я решил написать функцию и выложить ее сюда, возможно кому-нибудь пригодится. Если сегодня понедельник, то функция вернет сегодняшнюю дату:
function getPrevMonday(){
$result = false;
for ($i=0; $i<=7; $i++)
{
if (date('w',strtotime('-'.$i.' day'))==1)
{
$result = date('Y-m-d',strtotime('-'.$i.' day'));
break;
}
}
return $result;
}
И еще, функция ближайшего понедельника:
function getNextMonday(){
$result = false;
for ($i=0; $i<=7; $i++)
{
if (date('w',strtotime('+'.$i.' day'))==1)
{
$result = date('Y-m-d',strtotime('+'.$i.' day'));
break;
}
}
return $result;
}


date(«Y-m-d», strtotime(‘last monday’));
date(«Y-m-d», strtotime(‘next monday’));