ホームページ > php教程 > PHP源码 > 对比日期与判断日期是否合法类

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

PHP中文网
リリース: 2016-05-25 17:11:20
オリジナル
983 人が閲覧しました

跳至

 $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;
    }
}
ログイン後にコピー

                   

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート