Мне нужно повторить код или сообщение на странице в зависимости от часа дня. Как приветственное сообщение, «добрый вечер» или «хороший день»,
Я не знаю, как быстро группировать определенные часы и назначать сообщение каждой группе, например
с 13:00 до 16:00 pm = «добрый день» и с 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'; } ?>
Но я не знаю, как передать диапазон часов сообщениям.
<?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"; } ?>
<?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"; } ?>
$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?"; }
… должен вас начать (часовой пояс нечувствителен).
Я думал, что эта нить может использовать хороший однострочный слой:
$hour = date('H'); $dayTerm = ($hour > 17) ? "Evening" : ($hour > 12) ? "Afternoon" : "Morning"; echo "Good " . $dayTerm;
Если вы проверите самый высокий час (вечер), вы можете полностью исключить проверки диапазона и сделать приятный, более компактный условный оператор.
$dt = new DateTime(); $hour = $dt->format('H');
теперь проверьте этот $hour
в утреннем, дневном, вечернем или ночном диапазонах и, соответственно, передайте сообщение
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>"; }
?>