Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 日期差异_Php_Mysql - Fatal编程技术网

Php 日期差异

Php 日期差异,php,mysql,Php,Mysql,mysql表中有两个日期 sample: date1: 2011-01-01 06:40:00 date2: 2011-02-19 18:00:00 我需要返回它们之间的差异,如下所示: 50天12小时20分钟 如何在PHP或MYSQL中实现这一点?此代码应满足您的需要: <?php $result = mysql_query("SELECT (date1, date2) FROM myTable;"); while (list($date1, $date2) = mysql_fetch

mysql表中有两个日期

sample:
date1: 2011-01-01 06:40:00
date2: 2011-02-19 18:00:00
我需要返回它们之间的差异,如下所示:

50天12小时20分钟


如何在PHP或MYSQL中实现这一点?

此代码应满足您的需要:

<?php
$result = mysql_query("SELECT (date1, date2) FROM myTable;");
while (list($date1, $date2) = mysql_fetch_array($result)) {
    $firstdate = new DateTime($date1);
    $seconddate = new DateTime($date2);
    $diff = $firstdate->diff($seconddate);
    echo $diff->d . " days, " . $diff->h . " hours, " . $diff->i . "minutes\n";
}
?>

检查。

试试这个

SELECT CONCAT(
FLOOR(TIMESTAMPDIFF(HOUR,'2011-01-01 06:40:00', '2011-02-19 18:00:00')  / 24), ' days ',
MOD(TIMESTAMPDIFF(HOUR,'2011-01-01 06:40:00', '2011-02-19 18:00:00'), 24), ' hours ',
MINUTE(TIMESTAMPDIFF(second,'2011-01-01 06:40:00', '2011-02-19 18:00:00')), ' minutes')

您可以阅读mysql DATEDIFF函数:

这不是链接问题的副本,因为它还涉及从mysql获取日期,而链接问题没有。@pedro:您可以通过查询来完成此操作,检查我的答案$diff->m是月份。对于分钟数,请使用$diff->i