У меня есть форма, которая имеет следующий код HTML. Я пытаюсь получить дату из формы пользователя в формате yyyy-mm-dd для вставки в SQL. Я использовал функцию взрыва, а затем детали [] в php, чтобы изменить mm/dd/yyyy на yyyy-mm-dd. Этот процесс работает хорошо. Но если мой пользователь использует iPad или iPhone, выход уже находится в формате yyyy-mm-dd и не нуждается в форматировании. Любые идеи о том, как я могу оптимизировать процесс? Заранее спасибо.
<p>Date (mm/dd/yyyy)<br/>
<input type="date" name="flightdate"/></p>
Этот код не работал на iPad или iPhone. При использовании iPad или iPhone он ничего не выводит для $ flightdate.
$flightdate = $_POST['flightdate'];
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad')) {
$flightdate = $yyyy_mm_dd }
else { $parts = explode('/',$flightdate);
$yyyy_mm_dd = $parts[2] . '-' . $parts[0] . '-' . $parts[1];
}
IPhone может отправить дату в формате mm/dd/yyyy. Второй вариант - он может отправлять только временную метку и вообще избегать форматов.
strtotime()
PHPstrtotime()
или простоnew DateTime()
функциюnew DateTime()
?code
$ flightdate = $ _POST ['flightdate']; $ date = DateTime :: createFromFormat ('Ymd', $ flightdate); echo $ date-> format ('Ymd');