Bir stringin belirttiğimiz fortmata uygun bir tarih olup olmadığını kontrol eden bir fonksiyon.
function is_date($str, $formats=NULL) { if (!$formats) { $formats = array( 'Y-m-d', 'd-m-Y' ); } $formats = (array)$formats; $is_date = FALSE; try { foreach ($formats as $key => $format) { $date = DateTime::createFromFormat($format, $str); if ($date!==FALSE && $date->format($format)===$str) { $is_date = TRUE; break; } } } catch (Exception $exc) { } return $is_date; } var_dump(is_date('2013-02-20')); // true var_dump(is_date('16-05-1988')); // true var_dump(is_date('05-16-1988')); // false var_dump(is_date('02-20-2013', 'm-d-Y')); // true var_dump(is_date('20-02-2013', array('m-d-Y', 'd-m-Y', 'Y-m-d'))); // true var_dump(is_date('02-20-2013', array('m-d-Y', 'd-m-Y'))); // true var_dump(is_date('20-20-2013', array('m-d-Y', 'd-m-Y', 'Y-m-d'))); // false
Bu fonksiyonun çalışması için php Datetime eklentsinin kurulu olması gerekiyor.
İyi çalışmalar.
Güzel Paylaşım
Eline Sağlık da ben gelecek tarihi geçmiş tarih foksiyonu lazım