在线等!如何由给定时间获取时间所在的区间

问题描述对不起大家,整天加班我说清楚下需求,前端传给我的是一个unix时间戳,我需要由时间戳,得到这个时间戳所在的时间区间,因为我要处理这个参数作为时间间隔,用来搜索日志,因为日志那里的前端时间间隔是5分钟一个间隔,比如2019-4-1312:00-2019-4-1312:05,2019-4-1311:10-2019-4-1311:15这样的时间间隔的下拉框,所以前端请求这个接口也需要这样格式的时间,我负责后端处理这个搜索参数,因此需要把前端的时间转换为该时间在哪个时间间隔内,问题已经解决,谢谢大家
问题出现的环境背景及自己尝试过哪些方法
相关代码
这是我的代码
functionparse_time_range($time)
{
$date=date('Y-m-d',$time);
$start_hour=date('H',$time);
$end_hour=date('H',$time);
$minute=date('i',$time);
$second=date('s',$time);
$start_min=$minute;
$end_min=$minute;
if($minute%5==0){
$start_min=$minute-5;
$end_min=$minute+5;
if($start_min<=0){
$start_min=55;
$start_hour--;
}
if($end_min>=60){
$end_hour++;
$end_min=0;
}
}else{
while($start_min%5!=0){
$start_min--;
if($start_min<=0){
$start_min=55;
$start_hour--;
break;
}
}
while($end_min%5!=0){
$end_min++;
if($end_min>=60){
$end_hour++;
$end_min=0;
break;
}
}
}
$time_range['start']=sprintf('%s%02d:%02d:%02d',$date,$start_hour,$start_min,0);
$time_range['end']=sprintf('%s%02d:%02d:%02d',$date,$end_hour,$end_min,0);
return$time_range;
}
$strtime='2019-12-0912:00:59';
$time=strtotime($strtime);
$result=parse_time_range($time);
print_r($result);
你期待的结果是什么?实际看到的错误信息又是什么?
慕容3067478
浏览 415回答 2
2回答

慕哥6287543

$time='2019-04-0820:12:59';$timestamp=strtotime($time);$minute=date('i',$timestamp);$startMinute=floor($minute/5)*5;$endMinute=$startMinute+5;$start=date('Y-m-dH:'.$startMinute.':00',$timestamp);$start=date('Y-m-dH:i:s',strtotime($start));if($endMinute==60){$endMinute=0;$timestamp+=3600;}$end=date('Y-m-dH:'.$endMinute.':00',$timestamp);$end=date('Y-m-dH:i:s',strtotime($end));var_dump($start,$end);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript