Använd strtotime
för att konvertera strängarna till en Unix-tidsstämpel, använd sedan date
funktion för att generera rätt utdataformat.
Eftersom du använder det brittiska datumformatet "d/m/Y", och strtotime förväntar sig ett amerikanskt format, måste du konvertera det något annorlunda:
$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));