zoukankan      html  css  js  c++  java
  • 比较时间段是否重合,24小时

    /**
     * 比较时段是否重复
     * 跨越0点
     * 8:00~02:00
     * 23:00~01:00
     * 01:00~03:00
     */
    public static function isTimeCross($beginTime1,$endTime1,$beginTime2,$endTime2) {
        if (strtotime($beginTime1) > strtotime($endTime1)) { // 拆分
            $tmpBegin11 = strtotime($beginTime1);
            $tmpEnd11 = strtotime('24:00');
    
            $tmpBegin12 = strtotime('00:00');
            $tmpEnd12 = strtotime($endTime1);
        } else {
            $tmpBegin11 = strtotime($beginTime1);
            $tmpEnd11 = strtotime($endTime1);
    
            $tmpBegin12 = strtotime('00:00');
            $tmpEnd12 = strtotime('00:00');
        }
    
        if (strtotime($beginTime2) > strtotime($endTime2)) { // 拆分
            $tmpBegin21 = strtotime($beginTime2);
            $tmpEnd21 = strtotime('24:00');
    
            $tmpBegin22 = strtotime('00:00');
            $tmpEnd22 = strtotime($endTime2);
        } else {
            $tmpBegin21 = strtotime($beginTime2);
            $tmpEnd21 = strtotime($endTime2);
    
            $tmpBegin22 = strtotime('00:00');
            $tmpEnd22 = strtotime('00:00');
        }
    
        $is_cross = false;
        if  (self::isTimeCrossBase($tmpBegin11,$tmpEnd11,$tmpBegin21,$tmpEnd21)) {
            $is_cross = true;
        }
    
        if  (self::isTimeCrossBase($tmpBegin11,$tmpEnd11,$tmpBegin22,$tmpEnd22)) {
            $is_cross = true;
        }
    
        if  (self::isTimeCrossBase($tmpBegin12,$tmpEnd12,$tmpBegin21,$tmpEnd21)) {
            $is_cross = true;
        }
    
        if  (self::isTimeCrossBase($tmpBegin12,$tmpEnd12,$tmpBegin22,$tmpEnd22)) {
            $is_cross = true;
        }
    
    
        return $is_cross;
    }
    
    /**
     * 比较时段是否重复
     * 不跨越0点
     * 01:00~03:00
     * 08:00~10:00
     * 对应的时间戳
     */
    public static function isTimeCrossBase($beginTime1,$endTime1,$beginTime2,$endTime2) {
        if ($beginTime1 == $endTime1) {
            return false;
        }
    
        if ($beginTime2 == $endTime2) {
            return false;
        }
    
        if ($beginTime1 > $beginTime2) {
            if ($endTime2 <= $beginTime1) {
                return false;
            } else {
                // setlog([$beginTime1,$endTime1,$beginTime2,$endTime2],[],'','time.log');
                return true;
            }
        } else {
            if ($endTime1 <= $beginTime2) {
                return false;
            } else {
                // setlog([$beginTime1,$endTime1,$beginTime2,$endTime2],[],'','time.log');
                return true;
            }
        }
    }
    
  • 相关阅读:
    常用的逻辑控制器。
    map集合迭代。
    [译]如何在.NET Core中使用System.Drawing?
    使用.Net Core 2.1开发Captcha图片验证码服务
    ife 零基础学院 day 2
    ife 零基础学院 day 1
    Visual Studio 2017
    Visual Studio 2017
    在Windows 10上利用seafile搭建个人云服务
    Web网站配置Gzip,压缩js css文件
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/12694119.html
Copyright © 2011-2022 走看看