Смена времени зависит от дня

Я хотел бы создать сценарий, где время, которое вы получите, зависит от дня.

Если это обычный день недели, он должен отображать текущую дату, но время < 4 вечера, если время>4 вечера, что он должен отражать +2 дня. Но если сегодня пятница, а>> 16:00 и суббота / воскресенье, то он должен отображать понедельник для пятницы, субботу и вторник для воскресенья, поэтому также должен быть обратный отсчет, например: "Заказ в течение… (зависит от минут до завтра 4 вечера или день с 4 вечера)

например

Сегодня понедельник, 15:00. У покупателя есть 1 час, чтобы купить продукт во вторник, поэтому код должен повторить: "Хотите во вторник, 28 января? Заказывайте в течение 00 часов 57 минут"

Сегодня понедельник, 18:00. У клиента есть время, чтобы купить его до завтра, до 4:00, чтобы получить его в среду, поэтому код должен повторить: "Хотите в среду, 29 января? Заказ в течение 22 часов 00 минут"

......

Сегодня пятница, 15:00. У покупателя есть 1 час, чтобы купить продукт в субботу, поэтому код должен повторить: "Хотите субботу, $date? Заказ в течение 00 часов 57 минут"

Сегодня пятница, 17:00. У покупателя есть 1 час, чтобы купить продукт в понедельник, поэтому код должен отображаться так: "Хотите получить понедельник, $date? Заказ в течение $timer"

Сегодня суббота, 15:00 - 18:00. У клиента есть время, чтобы купить его до 16:00 завтрашнего дня, чтобы получить его в понедельник, поэтому код должен повторить: "Хотите ли вы вторник, $date? Заказ в течение $ таймера (переход к понедельнику до понедельника 16:00)"

Сегодня воскресенье, 15:00 - 18:00. У клиента есть время, чтобы купить его до 16:00 завтрашнего дня, чтобы получить его в понедельник, поэтому код должен повторить: "Хотите ли вы вторник, $date? Заказ в пределах таймера $ (переход к понедельнику до понедельника 16:00)"

$time = new DateTime('today 4 PM');

$now = new DateTime('now');

// check if current time is past 6 PM

if ($now > $time) {
    $time = new DateTime('tomorrow 4 PM');
}
$diff = $time->diff($now);    

    $dw = date( "w");
    if ($dw == 6 || $dw == 0) {
        $datetime = new DateTime('today');
        if ($dw == 6) {
            $datetime->modify('+3 day');
        } else {
            $datetime->modify('+2 day');
        }
        echo "Contact us again at: " . $datetime->format('Y-m-d');
    } else {
        //echo "<span>Today is:</span> " . date('<b>l jS \of F Y</b>')."<br/>";

        $datetime = new DateTime('today');
        $datetime->modify('+1 day');


    }



        echo "Delivery: ". $datetime->format('<b>l, d F</b>') . ": <span style ='color:#198504'>Order in: </span> ";
        echo $diff->format("<span style ='color:#198504'>%h hours und %i Minutes.</span>");
    }

Что я могу изменить, чтобы скрипт работал так, как я хочу

1 ответ

<?php
//its the time 0-23
$hour = date(" H ");
//its the day of week 1 to 7. "1 is monday."
$weeksday = date(" N ");
$weeksdayname = date(" l ");

echo $weeksdayname.' Time: '.($hour+1);

if($weeksday < 5 || ($weeksday == 5 && ($hour+1) < 16)) {
    echo "<br>Friday before 4 PM. and Weekday.";
    if ($weeksday = 1) { //if its monday
        echo "Contact us on Wednesday."
    }
    else if ($weeksday = 2 && ($hour+1) > 16) { //if its tuesday
        echo "Contact us on Thursday."
    }
    else if ($weeksday = 3 && ($hour+1) >  16) { //if its wednesday
        echo "Contact us on *****."
    }
    else if ($weeksday = 4 && ($hour+1) > 16) { //thursday
        echo "Contact us on *****."
    }
    else if ($weeksday = 5 && ($hour+1) > 16) { //friday
        echo "Contact us on *****."
    }
}
else { //Friday after 4PM till monday 00:00
    echo "<br>Weekend.";
}

?>
Другие вопросы по тегам