如何在php中将系统日期与MySQL数据库中的日期进行比较

时间:2013-07-31 10:34:11

标签: php mysql date

我想从MySQL数据库的日期比较我的系统日期,比较应该是系统日期的差异是10天,而不是我日期的日期。

例如我的系统日期:2013-7-31,表格的日期是2013-8-10它应该回复msg“还有10天需要续订。”

我知道如何在php中添加日期,但我不知道如何比较这两个。

$mydt = date("Y-m-d");
$alertday = date('Y-m-d', strtotime($mydt. " + 10 days"));

3 个答案:

答案 0 :(得分:2)

使用date_diff() - > DateTime::diff

$interval  = date_diff($date1, $date2); //$date1, $date2 are DateTime objects.
echo $interval->d; //Outputs number of day difference.

可在此处找到更多功能:

http://www.php.net/manual/de/class.dateinterval.php

http://www.php.net/manual/de/datetime.diff.php

答案 1 :(得分:1)

在您的查询中

,假设您传递$now = strttotime("now");的值 然后你可以在MySQL中执行以下操作

WHERE DATE_FORMAT($now "%Y-%m-%d") = DATE_FORMAT(DATE_ADD(DATE_FIELD,INTERVAL -10 DAY), "%Y-%m-%d")

答案 2 :(得分:0)

只需将db表时间转换为正常的unix时间戳减去并在一天内除以秒数

$now = time();
$dbtime = strtotime($tabledate);

$daysleft = ($now-$dbtime) / ( 60*60*24);