我正在编写一个脚本,我必须检查时间范围是否介于两次之间,无论日期如何.
例如,我有两个日期:
$from = 23:00
$till = 07:00
我有以下时间检查:
$checkFrom = 05:50
$checkTill = 08:00
我需要创建一个脚本,如果检查值在$from / $till范围之间,则返回true.在此示例中,函数应返回true,因为$checkFrom位于$from / $till范围之间.但以下情况也应如此:
$checkFrom = 22:00
$checkTill = 23:45
解决方法:
试试这个功能:
function isBetween($from, $till, $input) {
$f = DateTime::createFromFormat('!H:i', $from);
$t = DateTime::createFromFormat('!H:i', $till);
$i = DateTime::createFromFormat('!H:i', $input);
if ($f > $t) $t->modify('+1 day');
return ($f <= $i && $i <= $t) || ($f <= $i->modify('+1 day') && $i <= $t);
}
标签:php,time
来源: https://codeday.me/bug/20190927/1823105.html