Utilisez strtotime
pour convertir les chaînes en un horodatage Unix, puis utilisez la date
fonction pour générer le format de sortie correct.
Étant donné que vous utilisez le format de date britannique "d/m/Y" et que strtotime attend un format américain, vous devez le convertir légèrement différemment :
$date1 = "28/04/2009";
$date2 = "28-04-2009";
function ukStrToTime($str) {
return strtotime(preg_replace("/^([0-9]{1,2})[\/\. -]+([0-9]{1,2})[\/\. -]+([0-9]{1,4})/", "\\2/\\1/\\3", $str));
}
$date1 = date($dateFormat, ukStrToTime($date1));
$date2 = date($dateFormat, ukStrToTime($date2));