我有一个网站,我希望显示类似“关闭前2小时25分钟”的内容,当关闭时间开始时,我希望它说“我们正在关闭”。我在PHP中有点弱,所以请任何帮助表示赞赏。 所以从技术上讲,我想比较一天的两个不同时间(08:00开放,16:00关闭)。
答案 0 :(得分:0)
使用PHP中的time(),mktime()和gmdate()函数,您可以静态返回在指定时间之前剩余的小时数和分钟数。< / p>
注意:使用时间和日期功能时,返回的时间是服务器的系统时间,可能与当地时间不同。如果您的服务器位于不同的时区,则可能需要使用 date_default_timezone_set()。
<?php
// change your default timezone
date_default_timezone_set('America/Chicago');
// get current time of day in unix timestamp
$currentTime = time();
// get closing time in unix timestamp
$closingTime = mktime(16,0,0); // 4pm
// check if the current time is past closing time
if($currentTime > $closingTime)
{
// current time is greater than the closing time
// output closed message
echo "We are curently closed.";
}
else
{
// current time is less than closing time
// get hours and minutes left until closing time
$hoursLeft = gmdate("G", $closingTime - $currentTime);
$minutesLeft = gmdate("i", $closingTime - $currentTime);
// output time left before close
echo $hoursLeft . " hours " . $minutesLeft . " minutes until closing.";
}
?>
这里我们得到当前时间并定义关闭时间。然后我们看看当前时间是否大于结束时间。如果当前时间更长,那么我们输出已关闭的消息。否则,我们可以使用gmdate()根据结束时间和当前时间之间的差异来获得剩余的小时和分钟。