function validateDate($date, $format = 'Y-m-d H:i:s')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
function formatDate($date, $format = 'Y-m-d H:i:s' ) {
if (empty($date)) {
return $date;
}
$date = trim($date);
if (validateDate($date, $format) == 1) {
return $date;
} else {
$D = explode(' ', $date);
if (count($D) == 2) {
$d = $D[0];
$h = $D[1];
} else {
$d = $D[0];
$h = '00:00:00';
}
$elm = date_parse($date);
return DateTime::createFromFormat('Y-m-d H:i:s', $elm['year'] .'-'. str_pad($elm['month'],2,'0',STR_PAD_LEFT) .'-'. str_pad($elm['day'],2,'0',STR_PAD_LEFT) .' '. $h)->format($format);
}
}