Я делаю фильтр поиска по дате, где у меня есть дата, отображаемая как «j.n.Y G: i (26.6.2012 15:22)». Пользователь может ввести всю дату или только его часть: «26.6», «6.2012», «6», «15:22» - все допустимые значения. Поскольку мне нужно проверить эту дату в базе данных, формат необходимо изменить в одну из базы данных. Для этого я использую:Формат даты и времени из строки ввода
$datum = '25.6.2012';
$date = DateTime::createFromFormat('j.n.Y',$datum);
echo $date->format('Y-m-d H:i');
Где я получаю сообщение об ошибке, если $ ИГДЫ не в формате j.n.Y (если я только ввести j.n или один из указанных выше строк частей я получаю сообщение об ошибке).
Проблема также в том, что для введенной строки 'j.n.Y', я получаю правильный вывод даты, который также имеет текущее время, добавленное к строке даты (которая не была в исходной строке даты). Пример: я вводил «22.6.2012», затем получаю вывод «2012-06-22 15:33».
Могут ли эти две проблемы исправляться с существующими функциями php или я должен сделать свой собственный?
Справка была бы принята с благодарностью.
'strtotime' или' strftotime' может немного облегчить задачу. – hjpotter92