Подтвердить что ты не робот

Введите дату и время в Mysql

Я пытаюсь вставить дату и время в поле mysql datetime. Когда пользователь выбирает дату и время, он генерирует две переменные POST. Я искал интернет, но все еще не знаю, как это сделать.

Мой код.

//date value is 05/25/2010
//time value is 10:00

$date=$_POST['date'];
$time=$_POST['time'];

$datetime=$date.$time

Если я вставляю $datetime в mysql, дата выглядит 0000-00-00: 00: 00: 00

Я ценю это, если кто-нибудь может мне помочь в этом. Спасибо.

4b9b3361

Ответ 1

$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

альтернативное решение, которое может обрабатывать больше форматов:

$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

Ответ 2

Дата должна иметь формат, показанный вам: 0000-00-00 00:00:00

Итак, вам нужно его преобразовать. Есть тысячи вопросов об этом преобразовании здесь на SO.
Самый короткий путь похож на

list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);

Ответ 3

Я думаю, что формат datetime выглядит следующим образом:

YYYY-MM-DD HH:MM:SS

поэтому вам нужно отформатировать ваше $datetime, чтобы выглядеть так. И в вашем запросе, который должен быть инкапсулирован в отметках квоты.

Ответ 4

  • Вы сами преобразуете строку в формат YYYY-MM-DD HH:MM:SS,
  • или вы используете функцию str_to_date() из MySQL.

    INSERT INTO значения таблицы DATETIME (str_to_date ($ date, "% m/% d/% Y% h:% i" ))

Ответ 5

Насколько я помню, по умолчанию Mysql datetime должен быть в формате "yyyy-mm-dd hh: mm: ss".

Ответ 6

Я добавил дату и время в mysql db через API следующим образом:


API вызовов

http://localhost/SendOrder.php?odate=20120323&otime=164545

  • odate Тип - DATE
  • otime Тип - это ВРЕМЯ в БД.

Он будет хранить odate как 2012-03-23 ​​и otime как 16:45:45.