1

我想比较PHP:

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

用 mysqlCURRENT_DATE()die();

我需要检查 mysqlcurrent_date是否与$now.

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

这可能吗?

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

4

2 回答 2

3

在 MySQL 中CURDATE(),根据函数中使用的是数字还是字符串,以 'YYYY-MM-DD' 格式或 'YYYYMMDD' 格式返回当前日期。

CURRENT_DATE并且CURRENT_DATE()是 的同义词CURDATE()

SELECT CURDATE();

在此处输入图像描述

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_* 函数

于 2012-11-04T18:19:46.890 回答
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']))

但第一个版本会更干净

于 2012-11-04T18:42:18.577 回答