查找时间是否在格式HH:MM-HH:MM范围内

时间:2014-08-29 23:33:07

标签: php date time

在我的网站上,我的格式为TITLE#HH:MM-HH:MM#LOCATION。我可以使用explode("#",...轻松将其拆分为3个不同的数组键,并显示数据,但现在我正在创建一个函数来返回当前时间戳是否在" HH:MM-HH中: MM&#34 ;.

HH:MM-HH:MM的格式为12:20-13:10,其中第一次是事件的开始时间,第二次是事件结束的时间。我试图检测页面加载和调用time()的时间是否在12:20-13:10之内。

我该怎么做呢?我尝试过创建一些代码,但我不确定如何干净利落地完成这些代码。

谢谢!

更新 -

        $tEvent = explode("-", $arr[1]);
        $now = new DateTime(date("Y-m-d H:i:s",$time), new DateTimeZone('America/Detroit'));
        $start = new DateTime($tEvent[0], new DateTimeZone('America/Detroit'));
        $end = new DateTime($tEvent[1], new DateTimeZone('America/Detroit'));
        if ($now->format('U') >= $start->format('U') && $now->format('U') <= $end->format('U')) {
            //within time
        }

1 个答案:

答案 0 :(得分:1)

您可以使用多种不同的方法来完成此操作。就个人而言,我喜欢使用Datetime类来操作php中的日期。

$timeEvent = "12:20-13:10"; // your string with start and end of the event
$tEvent = explode("-", $timeEvent); // split in 2 (0 is start, 1 is end)
$now = new Datetime("NOW"); // gets the actual date
$start = new Datetime($tEvent[0]); // create datetime object with start date
$end = new Datetime($tEvent[1]); // create datetime object with end date

if ( $now > $start && $now < $end ) // check if now is between start and end
{
    echo "It's event time!";
}