public function guessDateFormat($date)
{
static $guess;
$date_formats = ['m/d/y', 'm/d/Y', 'n/d/y', 'n/d/Y', 'd-m-Y', 'd-m-y'];
$time_formats = ['H:i', 'G:i', 'h:ia', 'g:ia'];
if (!isset($guess[$date])) {
foreach ($date_formats as $date_format) {
foreach ($time_formats as $time_format) {
if ($this->validateDate($date, "{$date_format} {$time_format}")) {
$guess[$date] = "{$date_format} {$time_format}";
break 2;
} elseif ($this->validateDate($date, "{$time_format} {$date_format}")) {
$guess[$date] = "{$time_format} {$date_format}";
break 2;
}
}
}
if (!isset($guess[$date])) {
$guess[$date] = 'd-m-Y H:i';
}
}
return $guess[$date];
}