Я использую загрузчик даты начальной загрузки, чтобы выбрать дату и время. это дает мне выход
«21 декабря 2012 — 15:45». Теперь я хочу сохранить его в базе данных MySQL. Моя проблема в том, как сохранить эту строку в столбце данных MySQL (тип данных = дата и время).
здесь я использую этот код, но он не работает
$s = '21 December 2012 - 03:45 PM';
$date = strtotime($s);
echo date('d/M/Y:H:i:s', $date);
Я хочу сохранить эту строку в базе данных MySQL в формате даты и времени. извлечь ту же строку при выполнении SQL-запроса
благодарю вас
Если ваш формат входной строки из этого средства выбора даты имеет такой вид:
21 December 2012 - 03:45 PM
Вам необходимо сначала преобразовать формат, который подходит для вашего DATETIME
поле, которое является:
YYYY-MM-DD HH:MM:SS
Тип DATETIME используется для значений, которые содержат как дату, так и время. MySQL извлекает и отображает значения DATETIME в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС».
Ref: http://dev.mysql.com/doc/refman/5.1/en/datetime.html
Из PHP вы можете использовать DateTime
учебный класс. Укажите формат, который у вас есть в вашем указателе даты:
$s = '21 December 2012 - 03:45 PM'; // input from date picker
$date = DateTime::createFromFormat('d F Y - G:i a', $s);
$insert_date = $date->format('Y-m-d H:i:s');
echo $insert_date;
// rest of your mysql insertion codes
Попробуйте это для записи в MySQL:
$mysqldate = date( 'Y-m-d H:i:s', $date )
Вам лучше использовать значения эпох, а не читаемые человеком даты. Делайте все свои вещи, используя значения эпохи UTC, и конвертируйте их в удобочитаемые строки только тогда, когда вам нужно показать дату пользователю (добавить локаль и т. Д. И т. Д.).
MySQL ожидает, что поля DateTime будут переданы ему для хранения в этом формате
YYYY-MM-DD HH:MM:SS
Поэтому измените это утверждение на
echo date('Y-m-d H:i:s', $date);
И, конечно, вы должны заключить эту строку в кавычки в SQL-выражении, как это
$s = '21 December 2012 - 03:45 PM';
$a_date = date('Y-m-d H:i:s', strtotime($s));
$sql = "INSERT INTO table (the_date) VALUES ('$a_date')";
когда вы делаете strtotime($s);
так что по вашему мнению вы можете <?php echo date('Y-m-d H:i:s',$row['date']) ?>