Проверка часът с date() дали 00:00 е по-голям от 20:00

PHP, MySQL, JavaScript, HTML, CSS и др.
Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от gadinkata » 13 Авг 2020, 23:40

Опитах се да направя скрипт,който да ми изкарва Текст в определено време,всичко вървеше добре,когато мина полунощ 00:00 и се оказа,че 00:00 е по малко от 20:00!Въпроса ми е как да направя условието когато мине 23:59 и стане 00:00?

Код за потвърждение: Избери целия код

<?php
date_default_timezone_set('Europe/Sofia');
$data = date('H:i');
$OneBanerStart = "05:00";
$OneBanerEnd = "09:00";
$TwoBanerStart = "09:00";
$TwoBanerEnd = "20:00";
$TreeBanerStart = "20:00";
$TreeBanerEnd = "05:00";
if($data >= $OneBanerStart && $data < $OneBanerEnd)
{
    echo 'Добро Утро,';
}else if($data >= $TwoBanerStart && $data < $TwoBanerEnd)
{
    echo 'Добър Ден,';
}else if($data >= $TreeBanerStart && $data < $TreeBanerEnd)
{
    echo 'Добър Вечер,';
}
?>

Аватар
JustyleR
Извън линия
Модератор
Модератор
Мнения: 560
Регистриран на: 24 Фев 2017, 18:59
Се отблагодари: 33 пъти
Получена благодарност: 132 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от JustyleR » 14 Авг 2020, 00:26

Ами, нормално 20:00 да е по-голямо от 00:00. Все пак ти сравняваш числа.

Пробвай така:

Код за потвърждение: Избери целия код

$time = date('H:i');

switch($time) {
  case ($time >= '05:00' && $time <= '09:00'):
    echo "Добро утро!";
  break;
  case ($time > "09:00" && $time <= '20:00'):
    echo "Добър ден!";
  break;
  case ($time > '20:00' || $time < '05:00'):
    echo "Добър вечер!";
  break;
}
Discord сървър, чрез който можете да се свържете с мен.


Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от gadinkata » 14 Авг 2020, 00:47

благодаря стана,но да попитам защо само на някой места има >=<,а на някой е само > <

Аватар
JustyleR
Извън линия
Модератор
Модератор
Мнения: 560
Регистриран на: 24 Фев 2017, 18:59
Се отблагодари: 33 пъти
Получена благодарност: 132 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от JustyleR » 14 Авг 2020, 01:35

Код за потвърждение: Избери целия код

$time = date('H:i');

switch($time) {
  // Ако $time е по-голямо или равно на 05:00 или по-малко или равно на 09:00
  case ($time >= '05:00' && $time <= '09:00'):
    echo "Добро утро!";
  break;
  // Ако $time е по-голямо (понеже на горната проверка имаме или равно, тук ще трябва да проверим само дали е по-голямо)
  case ($time > "09:00" && $time <= '20:00'):
    echo "Добър ден!";
  break;
  // По същият начин
  // На горната проверка проверяваме дали часът е по-малко или равно на 20:00, а тук ще проверим дали е само по-голямо от 20:00
  case ($time > '20:00' || $time < '05:00'):
    echo "Добър вечер!";
  break;
}
Надявам се, че си ме разбрал.
Discord сървър, чрез който можете да се свържете с мен.


Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от gadinkata » 14 Авг 2020, 18:28

JustyleR написа: 14 Авг 2020, 01:35

Код за потвърждение: Избери целия код

$time = date('H:i');

switch($time) {
  // Ако $time е по-голямо или равно на 05:00 или по-малко или равно на 09:00
  case ($time >= '05:00' && $time <= '09:00'):
    echo "Добро утро!";
  break;
  // Ако $time е по-голямо (понеже на горната проверка имаме или равно, тук ще трябва да проверим само дали е по-голямо)
  case ($time > "09:00" && $time <= '20:00'):
    echo "Добър ден!";
  break;
  // По същият начин
  // На горната проверка проверяваме дали часът е по-малко или равно на 20:00, а тук ще проверим дали е само по-голямо от 20:00
  case ($time > '20:00' || $time < '05:00'):
    echo "Добър вечер!";
  break;
}
Надявам се, че си ме разбрал.
Абе не точно но,3те кейса "проверки" не са ли отделни една от друга,при втората проверка където реалния час $time там реалния част ако мине 20:00 веднага ще направи 3тата проверка,следователно като стане 20:01 ще смени към 3-тата проверка,но $time взима реалния час в момента,след 00:00 като вземе 00:01 примерно пак ще е по малко от 20:00,но до колкото разбирам 3-тата проверка е реален час > 20:00 или ако реалния час е < от 5:00,тоест да изълни кода при едно от двете условия
И Break,защо се използва,според това което знам като бях в англия и ни даваха почивки казваха break(брейк 15 мин) :D

Аватар
JustyleR
Извън линия
Модератор
Модератор
Мнения: 560
Регистриран на: 24 Фев 2017, 18:59
Се отблагодари: 33 пъти
Получена благодарност: 132 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от JustyleR » 14 Авг 2020, 18:45

Ами, 3-тата проверка както спомена се използва с или, защото ние вземаме часа, но ние го вземаме просто като цифра. Нямаме дата и година и затова правим проверка просто за едни числа. Вече ако имахме дата, година и т.н. Тогава вече щеше да е друго.

break се използва да прекрати кода по-надолу, тоест няма да продължи с другите проверки.
PHP Switch
Discord сървър, чрез който можете да се свържете с мен.


Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Проверка часът с date() дали 00:00 е по-голям от 20:00

Мнение от gadinkata » 14 Авг 2020, 19:25

Благодаря може да локване :)

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Уеб Програмиране”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта