我正在努力做一些日期驗證。我創建了3個不同的功能,它們都可以工作,但不是特殊情況。檢查日期問題
我做的最後一件事是這樣的:
public function valid_date($date, $format = 'd/m/Y'){
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
我從PHP網站這個功能,就像我想它的工作比我的我代替它更好。
日期格式,用戶必須輸入爲DD/MM/YYYY和在數據庫中的格式是YYYY-MM-DD 00:00:00
當我進入此無效日期:30/30/1996該功能將其識別爲有效日期。然後我有這個其他函數來爆炸「/」,並使它像數據庫格式的「 - 」,並在該功能,它給了我的錯誤:
DateTime :: __構造():未能解析時間字符串(1996-30-30)處於第6(0):意外字符」
public function explodingDates($date){
list($day,$month,$year) = explode('/', $date);
$newDate = $year.'-'.$month.'-'.$day;
return (new \Datetime($newDate));
}
我在這裏燒我的大腦,不知道還能爲驗證做。它還必須準備好接受任何形式的輸入(如「askhdakjdh」,「123213」,「1.25/269」)並返回無效日期。
在此先感謝
@佛瑞德-II-簡而言之:* shouln't *。你是否建議分配一個表達式? – BlitZ
有一個'\'的回報是一個錯字? – Wilmer
@ Fred-ii-爲什麼公衆會導致錯誤? – Limon