2010-02-08 9 views
10

PHP ile bir MySQL veritabanı kullanıyorum. Tarih değerlerimi DATETIME alanını kullanarak veritabanında saklıyorum.PHP tarihini() öntanımlı olarak onayla 12/31/1969

Girilen tarihleri ​​MySQL için uygun biçime dönüştürmek için bu PHP kodunu kullanıyorum. Bir tarih geçersiz olduğunda Ancak,

0000-00-00 00:00:00 bu varsayılan bir yolu var mı 1969-12-31 19:00:00 olarak veritabanında yer alıyor

date("Y-m-d H:i:s", strtotime($inputDate)) 

? O strtotime bunu önlemek için sahte dönmüyor kontrol etmelidir önce

cevap

1

strtotime 0'a kadar yanlış hangi tarihte evals dönüyor:

$ts = strtotime($inputDate); 

if ($ts === false) 
{ 
//invalid date 
} 
else 
{ 
echo date("Y-m-d H:i:s", $ts); 
} 
15

Sadece returns false on failurestrtotime() çıkışında, ile geçerliliğini algılar.

şey gibi:

$time = strtotime($inputDate); 
$date = ($time === false) ? '0000-00-00 00:00:00' : date('Y-m-d H:i:s', $time); 
İlgili konular