Php 日期未正确格式化时间

Php 日期未正确格式化时间,php,Php,您好,我尝试获取两个日期之间的差异并显示出来 我的问题是我得到的时差不是正确的 这是我的代码: $time1 = strtotime('2014-03-28 15:20:00'); $time2 = strtotime('2014-03-28 15:15:00'); $diffTime = $time1 - $time2; echo date('H:i', $diffTime); 我得到的结果是: 02:05 当前时间应为: 00:05 我猜这个日期可能是时区或

您好,我尝试获取两个日期之间的差异并显示出来

我的问题是我得到的时差不是正确的

这是我的代码:

$time1 = strtotime('2014-03-28 15:20:00');
    $time2 = strtotime('2014-03-28 15:15:00');

    $diffTime = $time1 - $time2;

    echo date('H:i', $diffTime);
我得到的结果是:

02:05
当前时间应为:

00:05
我猜这个日期可能是时区或者类似的,但我不确定

谢谢。

来自PHP文档:

注: 不建议将此函数用于数学运算。最好在PHP5.3及更高版本中使用DateTime::add()和DateTime::sub(),或者在PHP5.2中使用DateTime::modify()

从PHP文档:

注: 不建议将此函数用于数学运算。最好在PHP5.3及更高版本中使用DateTime::add()和DateTime::sub(),或者在PHP5.2中使用DateTime::modify()

从PHP文档:

注: 不建议将此函数用于数学运算。最好在PHP5.3及更高版本中使用DateTime::add()和DateTime::sub(),或者在PHP5.2中使用DateTime::modify()

从PHP文档:

注: 不建议将此函数用于数学运算。最好在PHP5.3及更高版本中使用DateTime::add()和DateTime::sub(),或者在PHP5.2中使用DateTime::modify()


因此,您在这里实际要做的是生成两个UNIX时间戳(数字),然后减去它们。然后,将结果数字作为时间戳传递给
date()


本质上,
$diffTime
是两次测试之间的秒数。您可以除以60得到分钟,以此类推,但是PHPs DateTime对象要好得多。

所以您在这里实际做的是生成两个UNIX时间戳(数字),然后减去它们。然后,将结果数字作为时间戳传递给
date()


本质上,
$diffTime
是两次测试之间的秒数。您可以除以60得到分钟,以此类推,但是PHPs DateTime对象要好得多。

所以您在这里实际做的是生成两个UNIX时间戳(数字),然后减去它们。然后,将结果数字作为时间戳传递给
date()


本质上,
$diffTime
是两次测试之间的秒数。您可以除以60得到分钟,以此类推,但是PHPs DateTime对象要好得多。

所以您在这里实际做的是生成两个UNIX时间戳(数字),然后减去它们。然后,将结果数字作为时间戳传递给
date()

本质上,
$diffTime
是两次测试之间的秒数。您可以除以60得到分钟,以此类推,但PHPs DateTime对象要好得多。

试试这个

<?php
$time1 = strtotime('2014-03-28 15:20:00');
$time2 = strtotime('2014-03-28 15:15:00');

echo round(abs($time1 - $time2) / 60,2). " minute"

    ?>

试试这个

<?php
$time1 = strtotime('2014-03-28 15:20:00');
$time2 = strtotime('2014-03-28 15:15:00');

echo round(abs($time1 - $time2) / 60,2). " minute"

    ?>

试试这个

<?php
$time1 = strtotime('2014-03-28 15:20:00');
$time2 = strtotime('2014-03-28 15:15:00');

echo round(abs($time1 - $time2) / 60,2). " minute"

    ?>

试试这个

<?php
$time1 = strtotime('2014-03-28 15:20:00');
$time2 = strtotime('2014-03-28 15:15:00');

echo round(abs($time1 - $time2) / 60,2). " minute"

    ?>

以下是以年、天、小时、分钟和秒为单位的日期时间解决方案。
$time1=STROTIME('2014-03-28 15:20:00');
$time2=STROTIME('2014-03-28 15:15:00');
$diffTime=$time1-$time2;
$y=($diffTime/(60*60*24*365));
$d=($diffTime/(60*60*24))%365;
$h=($diffTime/(60*60))%24;
$m=($diffTime/60)%60;
$s=($diffTime)%60;
回声“分钟-”,百万美元;
回声“
”;
以下是以年、天、小时、分钟和秒为单位的日期时间解决方案。
$time1=STROTIME('2014-03-28 15:20:00');
$time2=STROTIME('2014-03-28 15:15:00');
$diffTime=$time1-$time2;
$y=($diffTime/(60*60*24*365));
$d=($diffTime/(60*60*24))%365;
$h=($diffTime/(60*60))%24;
$m=($diffTime/60)%60;
$s=($diffTime)%60;
回声“分钟-”,百万美元;
回声“
”;
以下是以年、天、小时、分钟和秒为单位的日期时间解决方案。
$time1=STROTIME('2014-03-28 15:20:00');
$time2=STROTIME('2014-03-28 15:15:00');
$diffTime=$time1-$time2;
$y=($diffTime/(60*60*24*365));
$d=($diffTime/(60*60*24))%365;
$h=($diffTime/(60*60))%24;
$m=($diffTime/60)%60;
$s=($diffTime)%60;
回声“分钟-”,百万美元;
回声“
”;
以下是以年、天、小时、分钟和秒为单位的日期时间解决方案。
$time1=STROTIME('2014-03-28 15:20:00');
$time2=STROTIME('2014-03-28 15:15:00');
$diffTime=$time1-$time2;
$y=($diffTime/(60*60*24*365));
$d=($diffTime/(60*60*24))%365;
$h=($diffTime/(60*60))%24;
$m=($diffTime/60)%60;
$s=($diffTime)%60;
回声“分钟-”,百万美元;
回声“
”;
重新检查您的结果,可能使用
gmdate()
而不是
date()
通过此链接,我希望这将有助于@HieuLe它在您的示例中偶然工作。它实际上并没有执行OP的意图重新检查您的结果,可能使用
gmdate()
而不是
date()
,通过此链接,我希望这将有助于@HieuLe它在您的示例中偶然工作。它实际上并没有执行OP的意图重新检查您的结果,可能使用
gmdate()
而不是
date()
,通过此链接,我希望这将有助于@HieuLe它在您的示例中偶然工作。它实际上并没有执行OP的意图重新检查您的结果,可能使用
gmdate()
而不是
date()
,通过此链接,我希望这将有助于@HieuLe它在您的示例中偶然工作。它实际上并不是在做OP的意图