两个日期之间有多少天?

时间:2013-09-01 21:31:52

标签: php mysql

如果我有一个SQL查询返回的两个日期,我该如何计算它们涵盖的天数?

IE:

$date1 = '2013-08-08';
$date2 = '2013-08-12';
$days = ???;

2 个答案:

答案 0 :(得分:5)

作为一个选项,您可以使用DATEDIFF()

直接从SQL查询返回日期差异以及其他数据
SELECT date1, 
       date2, 
       DATEDIFF(date2, date1) date_diff
  FROM ...

示例输出:

+------------+------------+-----------+
| date1      | date2      | date_diff |
+------------+------------+-----------+
| 2013-08-08 | 2013-08-12 |         4 |
+------------+------------+-----------+

这是 SQLFiddle 演示

答案 1 :(得分:1)

纯粹的php解决方案:

$date1= new DateTime("2013-08-08");
$date2 = new DateTime("2013-08-12");

$diff = $date1->diff($date2);

echo $diff->format("%a days ago");