PHP日期/时间- If "Day = X"时间在18岁到21岁之间;的回声


PHP Date/Time - If "Day = X" and "Time is between 18 and 21" echo

我有一个广播节目时间表,我想做的是让特定的文本在节目直播时显示为粗体,在非直播时显示为正常。

演出在一周中固定的日子和当天的固定时间进行。

  • "Show 1"定于周五18:00-21:00。
  • 'Show 2'定于周五21:00-22:00。
  • 'Show 3'是周五22:00-00:00。
  • 'Show 4'定于周六00:00-06:00。

等等

如果是周五19:00,'Show 1'显示为粗体。

我可怕的第一次学习是这样的。显然,它没有时间范围之类的东西,但至少在当前时间是18:00的时候,它就能工作。如果时间在18:00-21:00之间,并且当天是星期五,我如何将其扩展到工作?我可以从一个例子中推断出其余的日子/时间:D

if( date( 'H' ) == 18 and date( 'w' ) == 5)
{
echo '<span style="font-weight:bold;">Show 1</span>';
}
else 
{ 
echo 'Show 1';
}

提前感谢,我很笨。

这将根据时间范围以粗体显示节目。

$hour = date('H');
$day = date('w');
$shows = array(
    "",
    "Show 1",
    "Show 2",
    "Show 3",
    "Show 4",
);
$show = 0;
if($hour >= 18 && $hour < 21 && $day == 5) { $show = 1; }
if($hour >= 21 && $hour < 22 && $day == 5) { $show = 2; }
if($hour >= 22 && $hour < 24 && $day == 5) { $show = 3; }
if($hour >= 0 && $hour < 6 && $day == 6) { $show = 4; }
for($i = 0; $i < count($shows); $i++){
    if($show == $i) { echo '<span style="font-weight:bold;">'.$shows[$i].'</span>'; 
    } else { echo '<span>'.$shows[$i].'</span>'; }
    echo "<br>";
}