У меня есть календарь jquery, который устанавливает входное значение в MM / DD / YYYY
Как мне преобразовать его так, чтобы мой столбец базы данных (дата) мог принять его правильно?
РЕДАКТИРОВАТЬ
Гордон был прав – его ссылка указала мне на этот ответ
$mysql_date = date('Ymd H:i:s', strtotime($user_date));
$date = "07/12/2010"; $your_date = date("Ymd", strtotime($date));
Надеюсь, мой ответ полезен 🙂
Вы хотите сделать это в PHP, не так ли?
Использовать Explode
$christmas = "12/25/2010"; $parts = explode('/',$christmas); $yyyy_mm_dd = $parts[2] . '-' . $parts[0] . '-' . $parts[1]
Используйте strptime
чтобы разобрать его на метку времени, а затем strftime
чтобы отформатировать ее так, как вы этого хотите.
Нам нужна дополнительная информация?
1) Какой скрипт вставляется в базу данных? Я предполагаю PHP
2) Также нам нужно знать, как вы храните дату и в каком формате?
Мое решение было бы:
$dates = preg_split('/\//',$_POST['date']); $month = $dates[0]; $day = $dates[1]; $year = $dates[2]; $finalDate = $year.'-'.$month.'-'.$day;
Попробуйте следующий код,
<?php $date = "10/24/2014"; $date = DateTime::createFromFormat("m/d/Y" , $date); echo $date->format('Ym-d'); ?>
В качестве альтернативы вы можете сделать это без использования explode
:
$date = "12/25/2010"; $mysql_date = date('Ym-d', strtotime($date));
Теперь вы можете использовать $mysql_date
для вставки в вашу базу данных.
Я предлагаю использовать strtotime()
а затем date()
. Благодаря этому вы можете конвертировать любой формат даты.
$unix_time_stamp = strtotime($mm_dd_yyyy); $yyyy_mm_dd = date(Y/m/d,$unix_timestamp);
Попробуй это:
$date = explode('/', '16/06/2015'); $new = date('Ymd H:i:s', strtotime(implode('-', array_reverse($date))));
Возврат: 2015-06-15 00:00:00
Надеюсь это поможет!
если вы просто хотите, чтобы одна строка попыталась:
$time = "07/12/2010"; $new_time = preg_replace("!([01][0-9])/([0-9]{2})/([0-9]{4})!", "$3-$1-$2", $time); var_dump($time); var_dump($new_time);
присвойте значения даты переменной $d
$dob
обозначает дату, которую вы хотите конвертировать
$d= date('Ym-d',strtotime ($dob) );
Попробуйте следующий код:
$date = "01-14-2010"; echo $your_date = date("Ymd", strtotime($date));
Он повторит 1969-12-31
.