因此,在我的 php 脚本中,我将当前时间 (date()) 与 mysql 数据库中的时间进行比较,但它不起作用。我该怎么做呢?PHP
if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}
mysql日期时间
2012-11-13 17:00:00
您可以将其添加到 SQL 查询中吗?
SELECT * FROM tablename WHERE Datum < now();
您当前的代码有语法错误,但它非常接近可以工作的东西:
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'");
如果您的日期与 ISO 8601 格式匹配:“YYYY-MM-DD HH:II:SS”,则可以使用strtotime函数将字符串转换为 Unix 时间戳。
mysql日期格式是
$date = new DateTime();
$date = $date->format('Y-m-d H:i:s');
if ( $row['Datum'] < $date) { Code to execute }
首先,您的 php 调用中日期的格式错误,mysql 日期的格式为"Y-m-d H:i:s"
。其次,您不需要这样做。您可以改为使用以下内容:
if(strtotime($row['Datum']) < time()) { // Code to execute }
这会将 mysql 日期转换为时间戳,并将其与当前时间戳进行比较。