检查当前时间是否在两个给定时间段之间?

时间:2017-12-15 12:10:26

标签: php

我是php的新手,并且发现它的日期时间手册有点棘手。

我想检查当前时间date('h:i a', time());是否介于两个给定时间间隔$startTime$endTime之间。

其中$startTime = "5:00AM"$endTime = "8:00AM".

我在(($currentTime >= $startTime) && ($currentTime <= $endTime) )这样的逻辑中看到了类似的问题,但没有任何效果。我想我在这里遗漏了一些非常基本的东西。

请帮忙。

这就是我试过的

var_dump($startTime);  string(6) "8:00AM" 
var_dump($endTime);   string(6) "5:00PM"
$startTime = new DateTime($startTime); 
$endTime = new DateTime($endTime); 
$now = new DateTime(); 

if ($now >= $startTime && $now < $endTime) {
   pr('Time now is between start and end time'); 
}

but It is not working

1 个答案:

答案 0 :(得分:2)

试试这段代码

将时间转换为strtotime()而不是compare two time其工作

<?php
$currentTime =date('h:i A', time());
$startTime = "5:00 AM";
$endTime = "8:00 AM";

if((strtotime($currentTime) >= strtotime($startTime)) && (strtotime($currentTime) <= strtotime($endTime)) ){
   echo $currentTime;
}

?>