2010-12-03 3 views
0

У меня есть файл csv, который мне интересен, а формат даты - 20 ноября 2010 года. Как его форматировать для вставки в принятый формат mysql для поля с Date как его тип? ОтветФормат Тип поля даты

ответ

0
date("Y-m-d", strtotime("20-Nov-2010")); 
0

Андреаса является немного лаконичен - в PHP это возвращает строку, которую вы можете сращивани в ваш запрос:

$d=date("Y-m-d", strtotime("20-Nov-2010")); 
$qry="INSERT INTO sometable (adate) VALUES('$d')"; 

Но если опустить знаки препинания, вы можете объявление без цитаты:

$d=date("Ymd", strtotime("20-Nov-2010")); 
$qry="INSERT INTO sometable (adate) VALUES($d)"; 

недостатком этого подхода является то, что StrToTime(), как правило, всегда возвращает какое-то значение даты - а иногда и не то, что вы ожидаете.

Однако вы могли бы сделать синтаксический анализ в MySQL, которая является гораздо более строгим:

$d='20-Nov-2010'; 
$qry="INSERT INTO sometable (adate) VALUES(STR_TO_DATE($d, '%d-%b-%Y'))"; 

Но помните, чтобы check for errors когда MySQL пытается разобрать дату.

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