Calculating the elapsed time
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Determining elapsed time
我想知道如何计算数据库中2个日期之间的经过时间。
它们在日期/时间中保存为"EntryDate"和"ExitDate",如DD-MM-YYYY 00:00:00,我想计算两者之间的时间,例如:
01.01.2012 12.00.00和01.01.2012 13.30.00这将是1小时30分钟。
谢谢。山姆。
你可能想在mysql里面工作时使用timediff。
1 2 3 | mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', -> '2000:01:01 00:00:00.000001'); -> '-00:00:00.000001' |
1 | SELECT TIMESTAMPDIFF(MINUTE,'2012-01-01 12:00:00','2012-01-01 13:30:00') |
这将以分钟为单位返回差异。 你可以用任何时间单位替换分钟(比如'HOUR','SECOND'等)
您可以使用
1 2 | eg: select TIMEDIFF ('2006-10-31 11:50:31' , '2006-10-31 11:50:01') |
由于日期格式如下,您可以使用
使用此论坛帖子:http://forums.devshed.com/php-development-5/calculate-remaining-day-minute-seconds-between-two-dates-538979.html
下次谷歌发布前一点点。 我们会帮助你,但你不应该滥用......
对于PHP中的实现,您需要使用date_diff函数。
1 2 3 4 5 6 7 8 9 10 11 | $d_start = new DateTime($EntryDate); $d_end = new DateTime($ExitDate); $diff = $d_start->diff($d_end); // return all data $this->year = $diff->format('%y'); $this->month = $diff->format('%m'); $this->day = $diff->format('%d'); $this->hour = $diff->format('%h'); $this->min = $diff->format('%i'); $this->sec = $diff->format('%s'); |