我正在尝试获取PHP的“总分钟数”中的“日期间隔”值。如何获取它?似乎简单的格式(“%i分钟”)不工作?
下面是示例代码:
$test = new \DateTime("48 hours");
$interval = $test->diff(new \DateTime());
现在,如果我尝试获得总天数的间隔,它是正确的:
echo $interval->format('%a total days');
它显示2天作为输出,这是完全好的。我试图得到的如果要得到的值在“总分钟”,所以我尝试:
echo $interval->format('%i total minutes');
这是行不通的。任何帮助感谢得到我想要的输出。
6条答案
按热度按时间tzxcd3kk1#
这是获得两个
DateTime
示例之间分钟数差异的最简单方法。dtcbnfnu2#
如果您陷入了一个只有
DateInterval
的困境,并且您(像我一样)发现似乎没有办法获得时间间隔的总分钟数、总秒数或其他值,那么解决方案是在零时间创建一个DateTime,将时间间隔添加到其中,然后获得结果时间戳:0s7z1bwu3#
我编写了两个函数,它们只是从DateInterval计算totalTime。考虑年和月可以提高精度。
7cjasjjr4#
以下是作为PHP7.2风格的方法的例外答案:
but5z9lq5#
那很好用。
xvw2m8pv6#
这个问题是关于分钟的,但是如果你想重新计算每个结转点(就像我需要做的那样),你可以使用@glavic在www.example.com手册页的注解中建议的解决方案php.net(简化后变成了一个函数):