我想用小於10分鐘前的日期時間來計數行,但當前時間與其相比似乎是1小時前,所以Imm得到0結果,如果我進入我的桌子,並把一些領域前進一小時,然後我得到結果。比較日期時間是提前1小時
獲得的結果:
$stmt = $db->query('SELECT check_log FROM members WHERE check_log >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)');
$row_count = $stmt->rowCount();
echo $row_count.' Members online.';
的輸入這個領域的日期時間爲2013年7月11日16點54分12秒,我沒有得到的結果,但如果我手動更改日期時間2013年7月11日17點54分12秒我得到的日期時間被輸入秒前使用1個結果:
$date = date("Y-m-d H:i:s");
的17點54分12秒是我的本地時間16點54分12秒似乎是我的服務器時間,是我的比較試圖展望未來還是利用我的當地時間作爲參考?
你的php和mysql的時間是不同的。你在PHP中設置時區嗎? –
你的'check_log'列的數據類型是什麼? – eggyal
使用一個時間戳(一個int,表示秒以來的秒數),無論您在哪個時區,它都將保持不變。將此與UTC/GMT時間戳進行比較。如果您想在某個時間點將其顯示爲本地時間,請將其轉換爲本地時區,但在所有其他情況下,只需使用UTC/GMT時間即可。 – Sumurai8