Преобразование формата даты США в формат даты ANSI SQL (YYYY-mm-dd)

Я хочу преобразовать формат даты, представленный пользователем (mm / dd / yyyy), в формат даты MySQL (YYYY-mm-dd). Представление осуществляется с помощью простой формы PHP для базы данных MySQL.

$mysql_date = date('Ymd H:i:s', strtotime($user_date)); 

Альтернативный метод PHP 5.2

 $datetime = new DateTime($user_date); echo $datetime->format('Ymd H:i:s'); 

DateTime – Y38k и дружественный по времени.

Еще один метод, на этот раз на стороне SQL – использовать метод преобразования в вашем sql-запросе:

  CONVERT(VARCHAR(11),$user_date,111) //eg SELECT CONVERT(VARCHAR(11),DATEFIELD,111) AS DATE //or SET DATEFIELD = CONVERT(VARCHAR(11),'".$user_date."',111) 

См.: http://www.w3schools.com/sql/func_convert.asp – номер в конце изменяет тип формата даты, с возвратом 111: 2006/12/30.