Ale*_*lex 2 php time datetime date
我有这样的日期:
// just a example date
$time_in_the_future_start = date('H:i', time()+60*60*24*7);
$time_in_the_future_end = date('H:i', time()+60*60*24*7+480);
$now = date('H:i', time());
Run Code Online (Sandbox Code Playgroud)
如何判断当前时间是否在时间范围内$time_in_the_future?
例如,如果
$time_in_the_future_start = 21:30;
$time_in_the_future_end = 0:30;
Run Code Online (Sandbox Code Playgroud)
和
$now = 22:07
Run Code Online (Sandbox Code Playgroud)
这将是一场比赛.
编辑:
澄清,这$time_in_the_future是一个反复发生的事件,具有过去或未来的日期.我只需要小时+分钟来匹配,而不是剩下的日期...基本上我只想比较一天的时间
我想,这将完美适用于您的情况.
function inTimeRange($time_start, $time_end, $time_needle) {
$res = false;
$t1 = strtotime("1970-01-01 {$time_start}:00");
$t2 = strtotime("1970-01-01 {$time_end}:00");
$tn = strtotime("1970-01-01 {$time_needle}:00");
if ($t1 >= $t2) $t2 = strtotime('+1 day', $t2);
return ($tn >= $t1) && ($tn <= $t2); // or return ($tn > $t1) && ($tn < $t2);
}
var_dump(inTimeRange('21:30', '00:30', '22:07'));
Run Code Online (Sandbox Code Playgroud)
真正
注意:所有参数必须采用格式HH:MM.您可以传递date("H:i", ...)此功能的参数.