php 判断两个时间段是否有交集

一开始,没啥思路,全靠百度,记录一下哈

 1     public function demo(){
 2         //例子
 3         $astart = strtotime("1995-06-16 12:00:00");//第1个开始
 4         $aend = strtotime("2008-06-16 12:00:00");//第1个结束
 5         $bstart = strtotime("2006-06-16 12:00:00");//第2个开始
 6         $bend = strtotime("2015-06-16 12:00:00");//第2个结束
 7         $isIntersection = false;
 8         if ($bstart - $astart > 0) {
 9             if ($bstart - $aend <= 0) {
10                 $cstart = $bstart;
11                 $cend = $aend;
12                 $isIntersection = true;
13             }
14         } else {
15             if ($bend - $astart > 0) {
16                 $cstart = $astart;
17                 $cend = $bend;
18                 $isIntersection = true;
19             }
20         }
21         if ($isIntersection == true) {
22             echo date('Y-m-d H:i:s', $cstart) . '--' . date('Y-m-d H:i:s', $cend);
23         }
24     }

结果:2006-06-16 12:00:00--2008-06-16 12:00:00

 

转载于:https://www.cnblogs.com/zgbcode/p/10142340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值