为了账号安全,请及时绑定邮箱和手机立即绑定

请各位大佬指点!前端的一个小问题:如何获取某个时间点,所在的时间段?各位有什么建议?

请各位大佬指点!前端的一个小问题:如何获取某个时间点,所在的时间段?各位有什么建议?

慕婉清6462132 2019-06-10 08:54:15
问题描述对不起大家,整天加班我说清楚下需求,前端传给我的是一个unix时间戳,我需要由时间戳,得到这个时间戳所在的时间区间,因为我要处理这个参数作为时间间隔,用来搜索日志,因为日志那里的前端时间间隔是5分钟一个间隔,比如2019-4-1312:00-2019-4-1312:05,2019-4-1311:10-2019-4-1311:15这样的时间间隔的下拉框,所以前端请求这个接口也需要这样格式的时间,我负责后端处理这个搜索参数,因此需要把前端的时间转换为该时间在哪个时间间隔内,问题已经解决,谢谢大家问题出现的环境背景及自己尝试过哪些方法相关代码这是我的代码<?phpfunctionparse_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);你期待的结果是什么?实际看到的错误信息又是什么?
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

$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);
                            
查看完整回答
反对 回复 2019-06-10
  • 2 回答
  • 0 关注
  • 358 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号