0

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

IE:

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

2 回答 2

5

作为一个选项,您可以使用 sql 查询以及其他数据直接返回日期差异DATEDIFF()

SELECT date1, 
       date2, 
       DATEDIFF(date2, date1) date_diff
  FROM ...

样本输出:

+------------+------------+------------+
| 日期1 | 日期2 | 日期差异 |
+------------+------------+------------+
| 2013-08-08 | 2013-08-12 | 4 |
+------------+------------+------------+

这是SQLFiddle演示

于 2013-09-01T21:40:16.633 回答
1

一个纯粹的 php 解决方案:

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

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

echo $diff->format("%a days ago");
于 2013-09-01T22:08:49.983 回答