欢迎来到山村网

PHP编程如何计算两个时间段是否有交集

2019-03-09 12:48:25浏览:675 来源:山村网   
核心摘要:本文实例讲述了PHP编程计算两个时间段是否有交集的实现方法。分享给大家供大家参考,具体如下:优化前的版本:function is_time_

本文实例讲述了PHP编程计算两个时间段是否有交集的实现方法。分享给大家供大家参考,具体如下:

优化前的版本:

function is_time_cross($beginTime1 = '', $endTime1 = '', $beginTime2 = '', $endTime2 = '') {  $status = $beginTime2 - $beginTime1;  if ($status > 0) {    $status2 = $beginTime2 - $endTime1;    if ($status2 > 0) {      return false;    } elseif ($status2 < 0) {      return true;    } else {      return false;    }  } elseif($status < 0) {    $status2 = $endTime2 - $beginTime1;    if ($status2 > 0) {      return true;    } else if ($status2 < 0) {      return false;    } else {      return false;    }  } else {    $status2 = $endTime2 - $beginTime1;    if ($status2 == 0) {      return false;    } else {      return true;    }  }}

优化后的版本(条件合并):

function is_time_cross($beginTime1 = '', $endTime1 = '', $beginTime2 = '', $endTime2 = '') {  $status = $beginTime2 - $beginTime1;  if ($status > 0) {    $status2 = $beginTime2 - $endTime1;    if ($status2 >= 0) {      return false;    } else {      return true;    }  } else {    $status2 = $endTime2 - $beginTime1;    if ($status2 > 0) {      return true;    } else {      return false;    }  }}

测试:

$beginTime1 = strtotime('2015-08-07 06:30');$endTime1 = strtotime('2015-08-07 08:30');$beginTime2 = strtotime('2015-08-07 05:30');$endTime2 = strtotime('2015-08-07 06:31');echo is_time_cross($beginTime1, $endTime1, $beginTime2, $endTime2);//输出1
(责任编辑:豆豆)
下一篇:

联想无线路由管理助手怎么用?

上一篇:

Linux Shell 文本处理工具集锦

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com