有没有办法比较当前时间与mysql节省的时间

时间:2012-11-14 08:50:34

标签: php mysql datetime

所以在我的php脚本中,我将当前时间(date())与来自mysql数据库的时间进行比较,但它不起作用。我该怎么做呢? PHP

if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}

Mysql DATETIME

2012-11-13 17:00:00

5 个答案:

答案 0 :(得分:1)

您可以将其添加到SQL查询中吗?

SELECT * FROM tablename WHERE Datum < now();

答案 1 :(得分:1)

您当前的代码存在语法错误,但它非常接近可行的内容:

if ($row['Datum'] < date('Y-m-d H:i:s')) {
    // Code to execute
}

这可能在循环内部,因此您应该缓存date()的输出:

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

// loop here
foreach ($rows as $row) {
    if ($row['Datum'] < $now) {
        // code to execute
    }
}

您也可以直接在查询中进行比较:

$now = date('Y-m-d H:i:s');
$db->query("SELECT * FROM whatever WHERE Datum < '$now'");

答案 2 :(得分:0)

mysql日期格式为

$date = new DateTime();
$date = $date->format('Y-m-d H:i:s');

if ( $row['Datum'] < $date) { Code to execute }

答案 3 :(得分:0)

首先你的php调用中的日期格式错误,mysql日期格式为"Y-m-d H:i:s"。其次,你不需要这样做。您可以改为使用以下内容:

if(strtotime($row['Datum']) < time()) { // Code to execute }

这会将mysql日期转换为时间戳,并将其与当前时间戳进行比较。

答案 4 :(得分:0)

如果您的日期符合ISO 8601格式:“YYYY-MM-DD HH:II:SS”,您可以使用 strtotime 功能将字符串转换为Unix时间戳。