如何在PHP中回显mysql CURRENT_DATE()?

时间:2012-11-04 18:17:38

标签: php mysql

我想比较一下PHP:

$now = date('Y-d-m H:i:s');

使用mysql CURRENT_DATE()die();

我需要检查mysql current_date是否与$now相同。

但是,我不知道该怎么做。我可能需要对CURRENT_DATE()进行一些格式更改,以便将其与$now = date('Y-d-m H:i:s');

进行比较

这可能吗?

如果是,php代码会是什么样的?

2 个答案:

答案 0 :(得分:3)

在MySQL中,CURDATE()以'YYYY-MM-DD'格式或'YYYYMMDD'格式返回当前日期,具体取决于函数中是否使用数字或字符串。

CURRENT_DATECURRENT_DATE()CURDATE()的同义词。

SELECT CURDATE();

enter image description here

MySql示例 - curdate()函数

$result = mysql_query("SELECT CURDATE()");
while($row=mysql_fetch_array($result))
{ 
echo $row['CURDATE()'] ;
}

MySql示例 - 数字格式的curdate()函数

$result = mysql_query("SELECT CURDATE()+1");
while($row=mysql_fetch_array($result))
{

echo $row['CURDATE()+1'];

}

我只使用了mysql_ *函数,因为我明白我不推荐使用mysql_ *函数

答案 1 :(得分:1)

你基本上可以使用strtotime将MYSQL返回的日期转换为Unix时间戳,然后将其与时间进行比较:

$q = "SELECT CURRENT_DATE() date";
$res = mysql_query($q);
$row = mysql_fetch_assoc($res);
if(time() == strtotime($res['date'])) // dates are equal, proceded with your logic
或者如果你愿意的话,你也可以这样做有点奇怪:

if (strtotime(date("Y-m-d H:i:s")) == strtotime($row['date']))

但第一个版本更干净