2013-04-22 3 views
3

У меня есть этот формат дата в моем дбобращенных в Mysql формат дата PHP

19th April 2013 

Я хочу, чтобы преобразовать его в

2013-04-19 

Я использовал If, Else условия, но она становится слишком длинный и сложный. Есть ли какие-либо встроенные функции?

ответ

8

Использование PHP'sdate функции

date("Y-m-d",strtotime("19th April 2013")); 
+0

Спасибо, если я хочу, чтобы преобразовать эту дату 17/04/2013 в 2013-04-17 ???? –

1

Вы все еще можете сделать это с помощью запроса, так что вы не будете иметь никакого преобразования на PHP стороны. Поскольку тип данных столбца является строкой, вам необходимо преобразовать его в действительную дату, используя STR_TO_DATE.

SELECT DATE_FORMAT(STR_TO_DATE(columnname, '%D %M %Y'), '%Y-%m-%d') new_format 
FROM TableName 
1

следующий PHP код преобразовать дату в нужный формат

$date = '19th April 2013' 
echo date('Y-m-d', strtotime($date)); 

и другие форматы являются

April 22, 2013 date("F d, Y",strtotime($myrow['date'])); 
Monday, April 22, 2013 date("l, F d, Y",strtotime($myrow['date'])); 
Apr 22, 2013 date("M d, Y",strtotime($myrow['date'])); 
22 April 2013 date("d F Y",strtotime($myrow['date'])); 
22 Apr 2013 date("d M Y",strtotime($myrow['date'])); 
Mon, 22 Apr 2013 date("D, d M Y",strtotime($myrow['date'])); 
Monday, the 22nd of April, 2013 date("l",strtotime($myrow['date'])) . ", the " . date("jS",strtotime($myrow['date'])) . " of " . date("F, Y",strtotime($myrow['date'])); 
2

да ниже код, чтобы изменить формат даты

date("Y-m-d",strtotime("19th April 2013")); to get as 2013-04-19 

и для второй

date("Y/m/d",strtotime("17th April 2013")); to get as 2013-04-17