我有以下三个字符串(当前时间、日落和日出),如何找到当前时间是否在日出和日落之间?
$current_time = "10:59 pm";
$sunrise = "5:42 am";
$sunset = "6:26 pm";
$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';
}
参考
我建议您首先使用 substr 函数和 intval 将字符串“转换”为整数。
在这一步之后,您应该能够简单地比较时间。
(请注意,您应该使用 18:00 而不是 6:00 PM,这会更容易处理,因此您可以使用 substr“检测”时间是上午还是下午,然后在数字上添加“12”)
我很确定有更优雅的方法可以做到这一点,但这应该只是给你一个基本的想法,为不高级的 php 开发人员提供一种简单的方法。
希望能帮助到你