两个日期之间的分钟数

Ark*_*ken 1 html php

说我的日期是

$future_time_ending = "2012-09-21 12:12:22"
Run Code Online (Sandbox Code Playgroud)

我如何算出当前时间和$future_time_ending?之间的分钟数?

谢谢

Mat*_*t S 15

一种方法:

$minutes = (strtotime("2012-09-21 12:12:22") - time()) / 60;
Run Code Online (Sandbox Code Playgroud)

strtotime将日期转换为Unix时间戳 - 自Unix纪元以来的秒数.减去当前时间戳,您可以获得当前时间与未来时间之间的秒数.除以60,结果以分钟为单位.

如果您不确定未来的比较时间,请采用绝对值得到正数:

$minutes = abs(strtotime("2012-09-21 12:12:22") - time()) / 60;
Run Code Online (Sandbox Code Playgroud)

为了完善我的答案,PHP中有一个更精细的OO方法:

$time = new DateTime("2012-09-21 12:12:22");
$diff = $time->diff(new DateTime());
$minutes = ($diff->days * 24 * 60) +
           ($diff->h * 60) + $diff->i;
Run Code Online (Sandbox Code Playgroud)

如果输入时间来自服务器以外的时区,则此功能尤其有用.

  • 终于有一个我可以实际使用的答案了!我尝试过大约 10 种不同的方法,但没有一个能按照我想要的方式工作 (2认同)