#php #regex #algorithm #laravel-8 #logical-operators
Вопрос:
У меня есть модель connection
, которая, среди прочих данных, имеет start
end
дату и в формате Y-m-d H:i
. У меня есть другая модель tariff
, которая записывает дни, в которые применяется определенный тариф (для выбора Пн-Вт-Ср-Чт-Пт-Сб-Вс) и время (например. ’08:00 — 16:00′). Теперь, если я использую приведенный ниже код, чтобы оценить tariff
, применяется ли a к данной connection
работе только в течение connection
start
и end
часов между 24 часами, а не за tariff
время, которое занимает рассвет (например. ’16:00 — 06:00′)
// work for connection: start at "2021-6-4 14:25" and end at "2021-6-4 22:30" tariff apply from "12:00"-"20:00"
if(date('H:i', strtotime($connection->start_date->format('H:i'))) >= date('H:i', strtotime($tariff->initial_time))
amp;amp;
date('H:i', strtotime($connection->end_date->format('H:i'))) <= date('H:i', strtotime($tariff->end_time)))
{
return true;
}
Теперь не оценивайте соединение, которое, например : начните «2021-6-4 06:24» — «2021-6-4 06:45» и применяйте тариф для ночных часов, которые начинаются «17:00» — «07:00»
Какой должна быть логика для достижения этого последнего примера?