簡體   English   中英

如何計算兩個日期之間的天數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM