Работа с датами в php-laravel
Всем ку, такая задачка, есть дата начала и дата окончания, которую задает клиент и нужна такая проверка, допустим клиент задал такую дату начала Y.m.d "12.08.2022", то дата окончания должна быть, либо плюс 3 месяца, либо 6, либо 9, либо 12, либо 24 месяца ровно, т.е если дата окончания будет 3 месяца и один день уже ошибка и так с каждым месяцем, должно быть ровно, не половина, не день, только ровные месяца, не на день больше, не на половину дня, доступные месяца окончания я указал, типо 3 месяца, минус один день, 6 месяцев минус один день, вот так надо, есть много способов манипуляции с date, но я логически не могу понять, как это реализовать, спасибо заранее!
public function checkDaysBetween($data)
{
$end = strtotime($data['agrEnd']);
if (strtotime(date('d.m.Y', strtotime($data['agrBeg'] . '+3 months'))) == $end || strtotime(date('d.m.Y', strtotime($data['agrBeg'] . '+4 months'))) == $end) {
return ['code' => 200];
}
return [
'code' => 422,
'error' => 'Допустимо создавать договор, только на следующие периоды времени: 3 месяца, 6 месяцев, 9 месяцев, 12 месяцев, 24 месяца',
];
}
вот мое решение, оно сработало