Извлечение только даты из поля datetime (mysql) и назначение его переменной php

Я не могу назначить только дату для переменной php из поля datetime таблицы MySQL. Я использую PHP 4 , я знаю, как это сделать на PHP 5.

Может кто-то помочь в том, чего не хватает в приведенном ниже PHP-коде.

 $dc = mysql_query("SELECT * FROM INVHDR WHERE Invdate BETWEEN '2011-04-01' AND '2012-03-31'"); while ($dc2 = mysql_fetch_assoc($dc)) { $invno = $dc2['Invno']; // Here Invno is a datetime field type $invdat3 = $dc2['Invdate']; $date_array = explode("-", $invdat3); $invdat = sprintf('%02d/%02d/%4d', $date_array[2], $date_array[1], $date_array[0]); } 

Если вы просто хотите отобразить часть даты, вы можете использовать функцию date :

 echo date("d/m/Y", strtotime("2012-12-24 12:13:14")); 

Существует ссылка, которую я нахожу чрезвычайно полезной, когда дело доходит до даты манипуляции: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

там легко найти решение:

 SELECT *, DATE(Invdate) as Inv_date ... 

Сделайте это непосредственно в MySQL:

 select DATE_FORMAT('2012-12-24 12:13:14', '%Y/%m/%d') 

Таким образом, ваш запрос будет выглядеть так:

 SELECT DATE_FORMAT(Invdate, '%Y/%m/%d') FROM INVHDR WHERE Invdate BETWEEN '$startdat' AND '$enddat'