我使用查詢從數據庫中提取時間戳,如何將該時間戳與當前時間進行比較。我正在嘗試輸出結果,「X分鐘前更新」。比較PHP中的時間戳
時間戳關閉服務器的格式是YYYY-MM-DD HH-MM-SS(24小時制)
謝謝!
我使用查詢從數據庫中提取時間戳,如何將該時間戳與當前時間進行比較。我正在嘗試輸出結果,「X分鐘前更新」。比較PHP中的時間戳
時間戳關閉服務器的格式是YYYY-MM-DD HH-MM-SS(24小時制)
謝謝!
您可以最多時間(包括那些從MySQL源)轉換與strtotime()
爲Unix時間戳(自1970年1月1日的秒的計數)
所以,你可以做
$then = $your_date_from_mysql;
$now = time();
$time_ago = $now - strtotime($then); //gets time ago in seconds
$minutes = $time_ago/60; //you could call floor() on this to round it down - or ceil() to round up
echo "Updated {$minutes} minutes ago";
假設你「再使用MySQL:
SELECT UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(timestampfield) AS seconds
然後
echo "Updated ", ceil($seconds/60), " seconds ago";
最好讓數據庫執行計算 - 它已經獲得了內部格式的時間戳,可以輕鬆進行這些計算。選擇一個格式化的字符串,然後將字符串轉換回時間值等等,只是浪費計算時間。
謝謝,讓你編輯第二部分代碼,應該是幾分鐘而不是幾秒鐘。 – socbrian 2012-03-05 18:01:57
這就是'/ 60'部分 - 以mysql返回並轉換爲分鐘的秒爲單位。 – 2012-03-05 18:06:59
'strtotime'應該能夠處理該格式 – scibuff 2012-03-05 17:46:09
可能的重複http://stackoverflow.com/search?q=time+ago+php – Gordon 2012-03-05 17:47:43
可能的重複http://stackoverflow.com/questions/2113940/ php-compare-date – Farray 2012-03-05 17:48:54