Sử dụng strtotime
để chuyển đổi các chuỗi thành dấu thời gian Unix, sau đó sử dụng date
chức năng để tạo định dạng đầu ra chính xác.
Vì bạn đang sử dụng định dạng ngày tháng ở Vương quốc Anh "d / m / Y" và strtotime yêu cầu định dạng Hoa Kỳ, bạn cần phải chuyển đổi nó một cách khác biệt:
$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));