I am unable to assign only date to a php variable from datetime
field of a MySQL table. I am using PHP 4 , I know how to do it in PHP 5.
Can someone help as to what is missing from the below php code.
$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]);
}
If you just want to display the date portion, you could use the DateTime
class:
echo DateTime::createFromFormat("Y-m-d H:i:s", "2012-12-24 12:13:14")->format("d/m/Y");
// 24/12/2012
//Edited for double echo typo.
There is a link I find extremely useful when it comes to date manipulations: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
one can easily find the solution there:
SELECT *, DATE(Invdate) as Inv_date ...
Do it directly in MySQL:
select DATE_FORMAT('2012-12-24 12:13:14', '%Y/%m/%d')
So your query will look like this:
SELECT DATE_FORMAT(Invdate, '%Y/%m/%d') FROM INVHDR WHERE Invdate BETWEEN '$startdat' AND '$enddat'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.