#php #algorithm
#php #алгоритм
Вопрос:
Допустим, магазины открываются в 15: 00, но клиенты могут делать заказы только после 16: 00 (в зависимости от времени открытия магазинов), приведенный ниже код работает так, как ожидалось
$nowtime = $this->HourMinuteToDecimal(date('H:i'));
$OrderTime = $this->HourMinuteToDecimal('16:00');
$storeOpeningTime = $this->HourMinuteToDecimal($data[$key]['opentime']);
if ($nowtime >= $OrderTime amp;amp; ($OrderTime >= $storeOpeningTime)) {
$data[$key]['open'] = 1;
} else {
$data[$key]['open'] = 0;
}
public function HourMinuteToDecimal($hour_minute) {
$t = explode(':', $hour_minute);
return $t[0] * 60 $t[1];
}
Существует проблема, что делать, если время открытия магазина — 18:00, но время заказа по умолчанию — 16:00, как исправить это решение? В этом случае клиент может разместить заказ только после 18:00.
Общее правило: Клиент может разместить заказ только после 16:00 (время заказа), но в зависимости от времени открытия магазина первым.
Ответ №1:
Заказы принимаются после OrderTime и StoreOpeningTime, так что это означает, что соответствующее время является последним из этих двух.
if ($nowtime >= max($OrderTime, $StoreOpeningTime)) {
$data[$key]['open'] = 1;
}
// ...