@SteepNET

Часовой диапазон\дни недели\условие php?

Добрый день!
Озадачился таким вопросом, нужно задать диапазон таким образом:
$time_1 = Будние дни c 08:00 - 21:00;
$time_2 = Суббота,Воскресение с 08-20:00;

Вот сморозил по определению дня недели такое:
if(date('D') == 'Sat' || date('D') == 'Sun') { 
  $time_3 = "vihodnoy";
} else {
  $time_3 = "budny";
}

Но как к этому еще и время прикрутить не совсем ясно для меня

Потом хотелось бы манипулировать этими результатами

$date_now = date("Y-m-d H:i:s");
if ($time_1 == $date_now) {
  echo " Будние дни c 08:00 - 21:00";
} elseif ($time_2 == $date_now){
  echo "Суббота,Воскресение с 08-20:00";
}


По логике выглядит так
Если сейчас период времени Будние дни c 08:00 - 21:00 тогда выводим "Сейчас Будние дни c 08:00 - 21:00"
Если сейчас период времени Суббота,Воскресение с 08-20:00 тогда выводим "Сейчас Суббота,Воскресение с 08-20:00"

Помогите решить задачу?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
$date = time();  // strtotime(date('Y-m-d H:i:s'))
$dateInfo = getdate($date);
$dayNumber = $dateInfo['wday'];
$dayHour = (int)$dateInfo['hours'];
$dayLangs = [
    'Воскресение',
    'Понедельник',
    'Вторник',
    'Среда',
    'Четверк',
    'Тяпница',
    'Развратница',
];

if (!in_array($dayNumber, [0, 6])) {
    if ($dayHour >= 8 && $dayHour <= 21) {
        echo "Сейчас Будние дни c 08:00 - 21:00";
    } else {
        echo "Сегодня {$dayLangs[$dayHour]}, рабочий день закончен, Все на танцы, товарищи!";
    }
} else  if ($dayHour >= 8 && $dayHour <= 20) {
    echo "Сейчас {$dayLangs[$dayHour]} с 08-20:00";
}


Вообще не понятно зачем ограничивать дату и считать за человека дату.
Достаточно вывести:
Расписания рабочего дня ПН-ПТ с 9 до 18
Выходные СБ-ВС;
Логично если человек просматривает сайт, он знает какой сегодня день и какое время.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы