Use
strtotime
para converter as strings em um timestamp Unix, então use o date
função para gerar o formato de saída correto. Como você está usando o formato de data do Reino Unido "d/m/Y", e o strtotime espera um formato dos EUA, você precisa convertê-lo de maneira um pouco 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));