вы не можете использовать временные метки для разбора даты
Есть способ, если ваша версия php> = 5.3:
$time = time();//or other time
$date = DateTime::createFromFormat('U',$time);
но на самом деле использовать метку времени несколько странно, поскольку DateTime не полагается на нее. Вы можете проанализировать строку даты непосредственно с помощью конструктора datetime, если ваша дата является английской или "французской" (т.е. d/m/y
). Вы также можете создать свой собственный формат.
как вы вводите дату и анализируете ее и в каком формате они ищут, если это не время ()
если это стандартный формат даты:
$date = new DateTime($yourString);//would throw an exception if the format is wrong
если это пользовательский формат, например, ДД / ММ / ГГГГ, 14 ч 32 мин.
$date = DateTime::createFromFormat('d/m/Y h\hi\m\i\n\s',$yourString);
if($date === false){//if format does not fit
exit('Your wrong !');
}
У меня есть приложение, которое использует time () для записи времени публикации темы.
Очень плохая практика. В MySQL у вас есть формат DateTime (и каждая система реляционных баз данных имеет свой собственный эквивалент) для хранения дат и времени, и они полностью совместимы с конструктором DateTime в PHP, поэтому переходите на него (используйте FROM_TIMESTAMP для перехода на DateTime).