запустить код в зависимости от времени суток - PullRequest
14 голосов
/ 28 декабря 2011

Мне нужно отобразить какой-то код или сообщение на странице в зависимости от часа дня.Так же, как приветственное сообщение, «добрый вечер» или «добрый день»

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

с 1:00С 00:00 до 16:00:00 = "добрый день" и с 4:00:01 до 8:00:00 = "добрый вечер"

пока у меня есть:

<?php
date_default_timezone_set('Ireland/Dublin');
$date = date('h:i:s A', time());
if ($date < 05:00:00 AM){
echo 'good morning';
}
?>

Но я не знаю, как передать диапазон часов и сообщений.

Ответы [ 5 ]

32 голосов
/ 28 декабря 2011

    <?php
    /* This sets the $time variable to the current hour in the 24 hour clock format */
    $time = date("H");
    /* Set the $timezone variable to become the current timezone */
    $timezone = date("e");
    /* If the time is less than 1200 hours, show good morning */
    if ($time < "12") {
        echo "Good morning";
    } else
    /* If the time is grater than or equal to 1200 hours, but less than 1700 hours, so good afternoon */
    if ($time >= "12" && $time < "17") {
        echo "Good afternoon";
    } else
    /* Should the time be between or equal to 1700 and 1900 hours, show good evening */
    if ($time >= "17" && $time < "19") {
        echo "Good evening";
    } else
    /* Finally, show good night if the time is greater than or equal to 1900 hours */
    if ($time >= "19") {
        echo "Good night";
    }
    ?>

11 голосов
/ 14 января 2015

Я думал, что эта тема может использовать хороший однострочный:

$hour = date('H');
$dayTerm = ($hour > 17) ? "Evening" : ($hour > 12) ? "Afternoon" : "Morning";
echo "Good " . $dayTerm;

Если вы сначала проверяете самый высокий час (вечер), вы можете полностью исключить проверки диапазона и сделать хорошее, более компактное условное утверждение.

10 голосов
/ 28 декабря 2011
$hour = date('H', time());

if( $hour > 6 && $hour <= 11) {
  echo "Good Morning";
}
else if($hour > 11 && $hour <= 16) {
  echo "Good Afternoon";
}
else if($hour > 16 && $hour <= 23) {
  echo "Good Evening";
}
else {
  echo "Why aren't you asleep?  Are you programming?";
}

... следует начать работу (без учета часового пояса).

3 голосов
/ 28 декабря 2011
$dt = new DateTime();

$hour = $dt->format('H');

теперь отметьте это $hour в вашем утреннем, дневном, вечернем или ночном диапазоне и соответственно дайте сообщение

0 голосов
/ 22 сентября 2016
date_default_timezone_set('Asia/Dhaka');
$time=date('Hi'); 

if (($time >= "0600") && ($time <= "1200")) {
    echo "Good Morning";
} 

elseif (($time >= "1201") && ($time <= "1600")) {
    echo "Good Afternoon";
}

elseif (($time >= "1601") && ($time <= "2100")) {
    echo "Good Evening";
}

elseif (($time >= "2101") && ($time <= "2400")) {
    echo "Good Night";
}
enter code here
else{
    echo "Why aren't you asleep?  Are you programming?<br>";
}

?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...