所以在我的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
答案 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时间戳。