2014-06-13 59 views
0

我正在使用日期格式YYYY-MM-DD。我正在尋找檢查正確的格式和日期有效性,並回應每個適當的錯誤消息。即使日期是否有效我的結果相呼應的無效日期:如何驗證有效的日期和格式,每個錯誤

//validate date 
if (!preg_match('/^(\d{4})-(\d{2})-(\d{2})$/',$date)) 
{ 
    $dateErr = "Format must be \"YYYY-MM-DD\"" ; 
} 
if (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', $postedDate, $datebit)) 
{ 
    return checkdate($datebit[2] , $datebit[3] , $datebit[1]); 
} 
else  
{ 
    $dateErr = "Must be valid date." ; 
} 
+2

你想重做這個功能:http://us2.php.net/manual/en/function.checkdate.php ? – niconoe

+1

我認爲你與你的變數混合起來..第一次使用'$ date',第二次'$ postedDate' – Philipp

+0

好抓@Philipp – Dave

回答

0

如果你要搶使用的值以後反正...

$YYYY=substr($date,0,4); 
$DD=substr($date,7,2); 
$MM=substr($date,5,2); 
checkdate($MM,$DD,$YYYY); 

,如果你是真正關心的格式的字符串插入到SQL或東西,你可以通過日期()或過濾

+0

另一種替代方法是用「 - 」分解日期,然後使用數組元素......各種選擇。 – Dave