Используйте strtotime
для преобразования строк в метку времени Unix, затем используйте функцию date
для создания правильного выходного формата.
Поскольку вы используете британский формат даты "d / m / Y", а strtotime ожидает американский формат, вам нужно немного его преобразовать:
$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));