Contents ...
udn網路城邦
php判斷日期是否有效的思考
2015/09/21 10:17
瀏覽1,438
迴響0
推薦0
引用0
一種方法可以使用正則,但是正則其實理解起來蠻麻煩的,而且使用正則在檢驗有效性方面也不太好。這裏提供一個方法,主要是使用strtotime和date函數進行檢驗。直接上函數:


/**
 * 校驗日期格式是否正確
 *
 * @param string $date 日期
 * @param string $formats 需要檢驗的格式數組
 * @return boolean
 */
function checkDateIsValid($date, $formats = array("Y-m-d", "Y/m/d")) {
    $unixTime = strtotime($date);
    if (!$unixTime) { //strtotime轉換不對,日期格式顯然不對。
        return false;
    }

    //校驗日期的有效性,只要滿足其中一個格式就OK
    foreach ($formats as $format) {
        if (date($format, $unixTime) == $date) {
            return true;
        }
    }
   
    return false;
}



var_dump(checkDateIsValid("2013-09-10")); //輸出true
var_dump(checkDateIsValid("2013-09-ha")); //輸出false
var_dump(checkDateIsValid("2012-02-29")); //輸出true
var_dump(checkDateIsValid("2013-02-29")); //輸出false
全站分類:知識學習 科學百科
自訂分類:不分類
上一則: C語言隨機函數
下一則: 更改linux用戶的密碼過期時間

限會員,要發表迴響,請先登入