Použijte strtotime
pro převod řetězců na unixové časové razítko, pak použijte date
funkce pro generování správného výstupního formátu.
Protože používáte britský formát data „d/m/Y“ a strtotime očekává americký formát, musíte jej převést trochu jinak:
$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));