我需要計算從數據庫獲取的日期和當前日期之間的天數。如何計算PHP中兩個日期之間的天數?
$upload_date = mysql_query("SELECT Date FROM Setting WHERE ID = $row[ID]");
$current_date = date("Y-m-d");
我該怎麼做?
我需要計算從數據庫獲取的日期和當前日期之間的天數。如何計算PHP中兩個日期之間的天數?
$upload_date = mysql_query("SELECT Date FROM Setting WHERE ID = $row[ID]");
$current_date = date("Y-m-d");
我該怎麼做?
形式http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff
SELECT DATEDIFF(CURDATE(), Date) FROM ....
,我不會使用Date
爲字段名,可以考慮改變這個名字
select datediff(curdate(),'2011-03-01');
您可以使用此格式http://php.net/manual/en/function.date.php,它會爲你做它
如果你想在PHP中使用它,請使用DateTime類:
$current = new DateTime($current_date);
$db_date = new DateTime($upload_date);
$days = $current->diff($db_date)->days;
還是老校友方式:
$days = round((strtotime($current) - strtotime($db_date)) /24 /60 /60);
使用SELECT DATEDIFF( 'NEW_DATE', 'OLD_DATE');
mysql> SELECT DATEDIFF('2006-04-01','2006-04-01');
+-------------------------------------+
| DATEDIFF('2006-04-01','2006-04-01') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATEDIFF('2006-04-01','2007-04-01');
+-------------------------------------+
| DATEDIFF('2006-04-01','2007-04-01') |
+-------------------------------------+
| -365 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATEDIFF('2006-04-01','2005-04-01');
+-------------------------------------+
| DATEDIFF('2006-04-01','2005-04-01') |
+-------------------------------------+
| 365 |
+-------------------------------------+
1 row in set (0.00 sec)
DATEDIFF(表達式,表達式2)
DATEDIFF()返回開始日期 EXPR和結束日期之間的表達式2的天數。 expr和expr2是日期或 日期和時間表達式。計算中僅使用值 的日期部分。
mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
-> -31
您可以在下面簡單的方式做到這一點,
$current_date = date("Y-m-d"); // Current date
$db_date = date("Y-m-d"); // Date from your database
$diff = abs(strtotime($current_date) - strtotime($db_date));
$total_days = floor ($diff/(60*60*24));
你能放什麼格式的日期是? – Josh 2011-03-20 15:14:19
他們都是YYYY-MM-DD。 – Gabriele 2011-03-20 15:15:31
'$ daysDelta = floor((mktime() - strtotime($ database ['Date'])/ 86400);''也許? – 2011-03-20 15:16:45