如何在php或mysql中添加两个或更多日期时间间隔的结果?

如何在php或mysql中添加两个或更多日期时间间隔的结果?,php,mysql,Php,Mysql,我不知道怎么做。请帮帮我。 这是我用php编写的代码。 我不知道在mysql语句中是否可能 <?php $start_date = new DateTime("2014-03-12 10:00:00"); $end_date = new DateTime("2014-03-12 18:00:00"); $interval = $start_date->diff($end_date); echo "Result " . $interval->y . " years, " . $i

我不知道怎么做。请帮帮我。 这是我用php编写的代码。 我不知道在mysql语句中是否可能

<?php
$start_date = new DateTime("2014-03-12 10:00:00");
$end_date = new DateTime("2014-03-12 18:00:00");
$interval = $start_date->diff($end_date);
echo "Result " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days , ".$interval->h." hours , ".$interval->i." minutes, ".$interval->s." seconds ";

$start_date2 = new DateTime("2014-03-12 10:00:00");
$end_date2 = new DateTime("2014-03-12 18:00:00");
$interval2 = $start_date2->diff($end_date2);
echo "Result " . $interval2->y . " years, " . $interval2->m." months, ".$interval2->d." days , ".$interval2->h." hours , ".$interval->i." minutes, ".$interval2->s." seconds ";?>


谢谢..

让MySQL做减法可能是最简单的


与评论相反,增加和减少时间间隔是有意义的。添加月份和天数并不一定有意义,因为间隔
30天
可能是一个月、少于一个月或多于一个月。库函数和内部函数会考虑这些因素。

您期望的结果是什么?两个间隔的总时间这到底意味着什么?6年3个月20天加9年11个月31天是多少?您可以确定两点之间经过的时间,但是在这之后将它们添加在一起是没有意义的。好吧,忘记代码吧,但是有其他方法可以做到这一点吗@塔德曼3月3日加6月2日等于什么?您总是可以以秒为单位计算时间,然后将时间划分为任意的年、月、日单位。你也可以用天做同样的事情。如果你将其分为月份和年份,这会产生误导,除非你只是想要一个大概的数字(例如,假设30天的月份,365天的年份),而且大多数MySQL函数都与精度有关。您必须编写自己的方法来实现这一点。
mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001',
    ->                 '2008-12-30 01:01:01.000002');
        -> '46:58:57.999999'