[英]How can I calculate the number of days between two dates?
像這樣的問題,有很多問題和答案,但是我找不到在MYSQL查詢中實際使用它的任何問題 。 我需要根據從現在到表中日期之間的特定天數來查詢數據庫。 我現在有很多方法可以在mysql查詢中進行數學運算,但不太了解如何開始。
任何建議如何使用PHP和mysql做到這一點?
抱歉,我沒有提到它,我的日期字段是unix時間戳。 那么,我該如何使用這種格式呢?
我假設您正在為datetime
字段尋找類似的東西:
SELECT *
FROM table
WHERE datetime_field BETWEEN (NOW() - INTERVAL 2 DAY) AND NOW()
修改日期字段
SELECT *
FROM table
WHERE date_field BETWEEN (DATE(NOW()) - INTERVAL 2 DAY) AND DATE(NOW())
出於多種原因,您不應該使用unix時間戳字段存儲日期時間。 但是,如果您真的堅持要這樣做。
SELECT *
FROM table
WHERE date_field BETWEEN UNIX_TIMESTAMP(NOW() - INTERVAL 2 DAY) AND UNIX_TIMESTAMP(NOW())
確保WHERE
子句中的字段具有索引。
你是說像DateDiff函數?
SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
http://www.w3schools.com/sql/func_datediff_mysql.asp
$sql = "SELECT DATEDIFF('".$startDate."', '".$endDate."') AS DiffDate";
然后通過PDO或mysqli_函數運行它。
在PHP中,您可以這樣做:
$date1 = '1348117200000'; //From table for date 09/20/2012
$date2 = time(); //Current time
$diffDate = $date1 - $date2;
然后在查詢中使用$ diffDate。
$sql = 'SELECT * FROM DATE_TABLE WHERE DATE_FIELD = ' . $diffDate;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.