Usar strtotime
para convertir las cadenas en una marca de tiempo de Unix, luego use la date
para generar el formato de salida correcto.
Dado que está utilizando el formato de fecha del Reino Unido "d/m/Y", y strtotime espera un formato de EE. UU., debe convertirlo de forma ligeramente diferente:
$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));