因此,在我的php腳本中,我將當前時間(date())與mysql數據庫中的時間進行比較,但它不起作用。我該怎麼做呢? PHP有沒有辦法將當前時間與mysql保存時間進行比較
if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}
Mysql的DATETIME
2012-11-13 17:00:00
因此,在我的php腳本中,我將當前時間(date())與mysql數據庫中的時間進行比較,但它不起作用。我該怎麼做呢? PHP有沒有辦法將當前時間與mysql保存時間進行比較
if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}
Mysql的DATETIME
2012-11-13 17:00:00
您當前的代碼有語法錯誤,但它是非常接近的東西,將工作:
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'");
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日期轉換爲時間戳,並將其與當前時間戳進行比較。
如果您的日期符合ISO 8601格式: 「YYYY-MM-DD HH:II:SS」,你可以使用的strtotime函數將字符串轉換爲Unix時間戳。
請提供圖片請確認您正在使用的實際代碼。 –
您可以在您的SQL查詢中進行比較嗎?那會更快。 –