Home  >  Article  >  php教程  >  对比日期与判断日期是否合法类

对比日期与判断日期是否合法类

PHP中文网
PHP中文网Original
2016-05-25 17:11:20961browse

跳至

 $smallDate 返回 > 0
     * $bigDate < $smallDate 返回 < 0
     * $bigDate = $smallDate 返回 = 0
     *
     * @param $bigDate
     * @param $smallDate
     *
     * @returns
     */
    public static function dateCmp($bigDate, $smallDate) {
        if (!self::isDate($bigDate) || !self::isDate($smallDate)) {
            throw new Exception(&#39;参数不是合法的日期&#39;);
        }

        return strcmp($bigDate, $smallDate);
    }

    public static function isDate($dateTime, $checkTime = false) {
        $strArray = explode(&#39; &#39;, $dateTime);
        $date = $strArray[0];
        $time = $strArray[1];
        // 不是 dateTime 格式
        if (!$date || !$time) {
            return false;
        }

        $dateArray = explode(&#39;-&#39;, $date);
        $year = $dateArray[0];
        $month = $dateArray[1];
        $day = $dateArray[2];
        // 年在 1-9999 年
        if (!self::_checkLimit($year, 1, 9999)) {
            return false;
        }

        if (!self::_checkLimit($month, 1, 12)) {
            return false;
        }

        if (!self::_checkLimit($day, 1, 31)) {
            return false;
        }

        if ($checkTime) {
            $timeArray = explode(&#39;:&#39;, $time);
            $hour = $timeArray[0];
            $minute = $timeArray[1];
            $second = $timeArray[2];

            if (!self::_checkLimit($hour, 0, 24)) {
                return false;
            }
            if (!self::_checkLimit($minute, 0, 60)) {
                return false;
            }
            if (!self::_checkLimit($second, 0, 60)) {
                return false;
            }
        }

        return true;
    }

    /**
     * 检查字符串是否在 start to 的区间内
     *
     * @param $str
     * @param $start
     * @param $to
     *
     * @returns
     */
    private static function _checkLimit($str, $start, $to) {
        if ($str < $start || $str > $to) {
            return false;
        }

        return true;
    }
}

                   

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn