我无法仅将日期分配给MySQL表的datetime
字段中的php变量。我正在使用 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]);
}
答案 0 :(得分:32)
如果您只想显示日期部分,可以使用DateTime
类:
echo echo DateTime::createFromFormat("Y-m-d H:i:s", "2012-12-24 12:13:14")->format("d/m/Y");
// 24/12/2012
答案 1 :(得分:5)
在日期操作方面,我发现链接非常有用: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
可以很容易地在那里找到解决方案:
SELECT *, DATE(Invdate) as Inv_date ...
答案 2 :(得分:3)
直接在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'