В php есть замечательная функция работы со временем strtotime. Она преобразует строковое представление даты в UNIXTIME формат(количество секунд, прошедшее с 1-го января 1970-го года). Удобна она прежде всего тем, что в нее можно подавать данные, введенные пользователем в форме, к примеру, дату рождения. На выходе мы получим удобный unixtime, с помощью которого можно проводить различные валидные сортировки по дате.
Приведу пример:
echo strtotime('8-12-1986'); // вернет 534366000
что эквивалентно
echo mktime(0,0,0,12,8,1986);
Но что если ваш пользователь пришлет на вход функции такой формат '8 12 1986'. В этом случае
echo strtotime('8 12 1986'); // вернет false
Функции просто не понятно, что здесь день, что здесь месяц, а что год. Как решить данную проблему? Как показать php формат введенной даты?