我需要计算从数据库获取的日期和当前日期之间的天数。如何计算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