如何在PHP

时间:2016-02-23 19:08:33

标签: php time compare

我有一个网站,我希望显示类似“关闭前2小时25分钟”的内容,当关闭时间开始时,我希望它说“我们正在关闭”。我在PHP中有点弱,所以请任何帮助表示赞赏。 所以从技术上讲,我想比较一天的两个不同时间(08:00开放,16:00关闭)。

1 个答案:

答案 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()根据结束时间和当前时间之间的差异来获得剩余的小时和分钟。