StoreTime 和 OrderTime 处理问题

发布于 2024-11-08 01:39:43 字数 762 浏览 0 评论 0原文

假设商店在 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(订单时间)之后下订单,但首先取决于商店营业时间。

Let say Stores Open at 15:00 but customers can only make orders after 16:00 (depending on the Stores Opening time), code does work below as expected

        $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];
}

There is a problem, what if a Store-Open-Time is 18:00 but default Order-Time is 16:00, How to fix these solution? Customer can only place order after 18:00 in that case.

General Rule: Customer can only place order after 16:00 (Order-Time) but depending on the Store Open Time first.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧人 2024-11-15 01:39:43

订单是在 OrderTime 和 StoreOpeningTime 之后进行的,因此这意味着相关时间是这两个时间中最晚的一个。

if ($nowtime >= max($OrderTime, $StoreOpeningTime)) {
    $data[$key]['open'] = 1;
}
// ...

Orders are taken after OrderTime and StoreOpeningTime, so that means the relevant time is the latest one of those two.

if ($nowtime >= max($OrderTime, $StoreOpeningTime)) {
    $data[$key]['open'] = 1;
}
// ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文