Usa strtotime
per convertire le stringhe in un timestamp Unix, quindi utilizzare la date
funzione per generare il formato di output corretto.
Dato che stai utilizzando il formato della data del Regno Unito "d/m/Y" e strtotime si aspetta un formato statunitense, devi convertirlo in modo leggermente diverso:
$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));