如何检查 PHP 中的时间是否介于两次之间

2022-08-30 08:27:50

我有以下三个字符串(当前时间,日落和日出),如何找到当前时间是否在日出和日落之间?

$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";

答案 1
$current_time = "4:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
$date1 = DateTime::createFromFormat('h:i a', $current_time);
$date2 = DateTime::createFromFormat('h:i a', $sunrise);
$date3 = DateTime::createFromFormat('h:i a', $sunset);
if ($date1 > $date2 && $date1 < $date3)
{
   echo 'here';
}

查看实际应用

参考


答案 2

我会恳求你首先使用substr函数和intval将字符串“转换”为整数。

在此步骤中,您应该能够简单地比较时间。

(请注意,您应该使用18:00而不是下午6:00,这将更容易处理,因此,如果时间是AM或PM,则可以使用substr“检测”,只需在数字中添加“12”即可)

我很舒尔,有更优雅的方法来做到这一点,但这应该只是给你一个基本的想法,为不高级的php开发人员提供一个简单的方法。

希望它有帮助


推荐