I have this time range in array example:
$timerange = array('01:30:00','01:31:00',...........,'02:30:00');
and 2 variable:
$start_time = '01:15:00';
$end_time = '03:29:00';
if($timerange is between $start_time && $end_time)
{
//do it something if yes.....
}
Please help me, its have any ready function to use in PHP? to check on this.
答案 0 :(得分:0)
See How to check if a date is in a given range? Edit: As you are looking in a 24 hour range you can pick and random date when constructing your timestamps and your calculations should hold true as all of them are the same date.
return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
Where all of those are timestamps.
Also look at this PHP check if time falls within range, questioning common solution if you don't want this to depend on the date but just the time.
答案 1 :(得分:0)
<?php
$timerange = array(strtotime('01:30:00'), strtotime('01:31:00'), strtotime('03:30:00'));
$start_time = strtotime('01:15:00');
$end_time = strtotime('03:29:00');
foreach($timerange as $key => $text_field){
if($timerange[$key] > $start_time && $timerange[$key] < $end_time){
echo "Existing";
}else{
echo "Not Existing";
}
}
?>
答案 2 :(得分:0)
您无需费心将时间字符串转换为时间类型-您可以按原样比较字符串:
<?php
$timerange = array('01:30:00', '01:31:00', '01:32:00', '02:30:00');
$start_time = '01:15:00';
$end_time = '03:29:00';
$between = array();
foreach ($timerange as $time)
if ($start_time <= $time && $time <= $end_time) $between[] = $time;
if ($between)
{
echo "These are the times between $start_time and $end_time:\n";
print_r($between);
}
如果您更喜欢它,可以将foreach
循环替换为array_filter()
:
$between = array_filter($timerange,
function($time) use ($start_time, $end_time)
{ return $start_time <= $time && $time <= $end_time; }
);