我有一个这样的约会:
// 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());
如何查明当前时间是否在$time_in_the_future
's time?
例如如果
$time_in_the_future_start = 21:30;
$time_in_the_future_end = 0:30;
and
$now = 22:07
这将是一场比赛。
edit:澄清一下,$time_in_the_future
是一个重复发生的事件,日期为过去或将来。我只需要匹配小时+分钟,而不需要日期的其余部分...基本上我只是想比较一天中的时间
函数 inTimeRange()
我想,这对于你的情况来说非常有效。
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'));
Output
true
Note:所有参数必须符合格式HH:MM
。你可以通过date("H:i", ...)
对于这个函数的参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)