2012-04-05 2 views
0

Как конвертировать эту дату "17 апреля 2012 г. 17:50" в php для поддержки формата datetime mysql, т.е. 2012-04-17 17:50:00 (секунды как 00 by по умолчанию).Преобразование DateTime для поддержки mysql datetime datetype

+0

Возможный дубликат [Как преобразовать строку в дату] (http://stackoverflow.com/questions/6799435/how-to-convert-string-to-date) – salathe

ответ

2

Используйте strtotime() функцию

$time = str_replace(',', '', "17 Apr, 2012 05:50 PM"); //remove comma 
$mysql_date = date('Y-m-d H:i:s', strtotime($time)); 
+0

вывод is ---- \t 1970-01-01 00:00:00, я уже это делаю, но все еще догадываюсь, что им не хватает – swapnesh

+0

@swapnesh вы должны удалить', ' запятая. Обновленный код – safarov

+0

@swapnesh выше кода показывает мне правильный результат как «2012-04-17 17: 50: 000.0000005000» – heyanshukla

-1

Преобразование времени, используя strtotime функцию

+0

-1 'strtotime (" 17 апреля 2012 г. 05:50 PM ") === false' –

3

Используйте стандартный DateTime::createFromFormat класс,

$date = DateTime::createFromFormat('d M, Y H:i A', '17 Apr, 2012 05:50 PM'); 
echo $date->format('Y-m-d H:i:s'); 

Update: Просто сделал некоторые тесты. Кажется DateTime::createFromFormat метод 1.3x быстрее thann strtotime, str_replace метод.

+0

Даун-избиратель, объясните причину. –

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