为什么DateTime:diff()关闭一分钟?

时间:2014-11-04 16:29:35

标签: php datetime

我正在使用DateTime :: diff()函数,一旦有10分钟的差异,就会显示剩余的分钟数。但由于某种原因,微小的差异是一个人。

例如,如果我想得到11:20和11:30之间的差异,它将显示9分钟而不是10分钟。

只有在使用" now"时才会这样。如果我隐含地输入" 11:20"在

  $date = new DateTime("now", new DateTimeZone("America/New_York"));

然后它将显示10分钟的差异。

以下是我编写的代码示例..

$closing_time = "11:30:00";


$date = new DateTime("now", new DateTimeZone("America/New_York"));
$time_now =  $date->format("H:i:s");
echo $time_now. "<br>";


$time_remaining = $date->diff(new DateTime($closing_time,new DateTimeZone("America/New_York") ));

$minutes = $time_remaining->i;

1 个答案:

答案 0 :(得分:1)

正如我在第一条评论中所述,请查看seconds

$time_remaining->s;

然后根据您的舍入偏好,将其考虑在内(例如:>=30?)。