Проблема с обработкой StoreTime и OrderTime - PullRequest
0 голосов
/ 18 мая 2011

Допустим, магазины открыты в 15:00, но клиенты могут делать заказы только после 16:00 (в зависимости от времени открытия магазинов), код работает ниже ожидаемого

        $nowtime = $this->HourMinuteToDecimal(date('H:i'));

        $OrderTime = $this->HourMinuteToDecimal('16:00');

        $storeOpeningTime = $this->HourMinuteToDecimal($data[$key]['opentime']);


        if ($nowtime >= $OrderTime && ($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 Ответ

0 голосов
/ 07 мая 2012

Заказы принимаются после OrderTime и StoreOpeningTime, что означает, что релевантное время самое позднее из этих двух.

if ($nowtime >= max($OrderTime, $StoreOpeningTime)) {
    $data[$key]['open'] = 1;
}
// ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...