我正在尝试获取一个我正在工作的网站,以根据一天中的时间显示不同的图片。我正在使用PHP elseif语句。
我尝试将格式更改为“ G”以消除开头的零,我尝试使用整天的“ H:i:s”,并且尝试使用“ H”以获取触发事件的时间。
<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
if ($time <= 06 &&$time >= 20) {
echo '<img src="images/SpringNight.png" class="rounded img-fluid" width="720" height="480">';
}else{
echo '<img src="images/Spring.png" class="rounded img-fluid" width="720" height="480">';
}
?>
我正在尝试在elseif中的第一条语句在晚上8点至早上6点之间弹出。一整天都在输出else。
编辑:我想我明白了。我尝试使用“ ||”代替“ &&”,它似乎起作用了。
<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
if ($time <= 06 || $time >= 20) {
echo '<img src="images/SpringNight.png" class="rounded img-fluid" width="720" height="480">';
}else{
echo '<img src="images/Spring.png" class="rounded img-fluid" width="720" height="480">';
}
?>
答案 0 :(得分:1)
我建议您进行|| (如您在评论中所说)作为三元。然后,您可以不带回显就打印HTML,使用$ fileName变量,而不必重复所有HTML两次。
<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
$fileName = ($time <= 6 || $time >= 20) ? 'SpringNight' : 'Spring';
?>
<img src="images/<?=$fileName?>.png" class="rounded img-fluid" width="720" height="480">