2015-01-03 5 views
1

Мой HTML Форма имеетФорма ввода даты Формат поля

<input type="date"> 

В то время как столбец таблицы моей базы данных MySQL является дата, которая хранится в формате YYYY-MM-DD, однако, форма представляет поле даты как DD-MM-YYYY, который MYSQL отвергает.

Есть ли способ обойти это или преобразовать значения даты в правильный формат, или мне нужно использовать другой плагин для этого? (Например JQuery UI)

+0

Какой выход вы хотите? –

+0

Вы используете 'PHP' для отправки данных в mysql? – Sadikhasan

+1

yes php для отправки данных через вызов ajax – user4269367

ответ

1

В PHP

var $date = $your_input_date; //e.g. 03-01-2015 
$date = date('Y-m-d', strottime($date)); 

http://php.net/manual/en/function.date.php

+0

привет, мне не нужно время, просто дата, а это значит, что я удаляю H: i: s? – user4269367

+0

Да, вы можете удалить 'H: i: s'. Проверьте мой обновленный ответ – Sadikhasan

0

вы можете использовать функцию яваскрипта изменить формат даты и

function reformatDate(dateStr) 
{ 
    dArr = dateStr.split("-"); // ex input "2010-12-31" 
    return dArr[2]+ "-" +dArr[1]+ "-" +dArr[0]; //ex out: "31-12-2010" 
} 

Check link для более подробной информации

+0

Я вижу, есть способ, которым я могу определить форматы даты aLL пользователь использует и конвертирует их в YYYY-MM-DD? но в связи с этим вопросом, ваш ответ правильный. – user4269367

0

Вам необходимо будет ввести дату в поле базы данных в формате Y-m-d H:i:s. Следовательно, при получении даты из формы и разобрать его, используя дату функция что-то вроде этого: date('Y-m-d H:i:s', strtotime($date)) //where $date is the date field from the form

0

MySQL имеет функцию STR_TO_DATE, так что вы можете конвертировать в один раз в запросе:

INSERT INTO atable (datetimefield) 
VALUES (STR_TO_DATE('03-01-2015', '%d-%m-%Y')) 

Mysql Documentation

Или вы можете использовать JQuery UI datepicker, у которого есть опция для альтернативного поля, где вы можете сохранить дату в правильном формате.

Смежные вопросы