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

Php 为什么DateTime:diff()会关闭一分钟?,php,datetime,Php,Datetime,我正在使用DateTime::diff()函数,只要有10分钟的差异,就可以返回剩余的分钟数。但由于某种原因,微小的差异缩小了一倍 例如,如果我想得到11:20和11:30之间的差值,它将显示还剩9分钟而不是10分钟 而且,只有在使用“现在”时才是这样。如果我在 然后它将显示10分钟的差异 下面是我编写的代码示例 $closing_time = "11:30:00"; $date = new DateTime("now", new DateTimeZone("America/New_York

我正在使用DateTime::diff()函数,只要有10分钟的差异,就可以返回剩余的分钟数。但由于某种原因,微小的差异缩小了一倍

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

而且,只有在使用“现在”时才是这样。如果我在

然后它将显示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;
$closing\u time=“11:30:00”;
$date=新日期时间(“现在”,新日期时区(“美国/纽约”);
$time_now=$date->format(“H:i:s”);
现在回显$time\u。“
”; $time_剩余=$date->diff(新日期时间($closing_time,新日期时区(“美国/纽约”)); $minutes=$time\u剩余->i;
正如我在第一条评论中所说,请检查:


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

检查秒数…按分钟计算时间时,您是在舍入当前分钟的秒数。@Flosculus感谢您的回答。我现在明白这是为什么了。我尝试过使用ceil($minutes),但仍然没有什么不同。。。还有其他方法可以取整吗?@json2020如果分钟数不是浮点值,您希望
ceil()
对它们做什么?如果
ceil
将整数取整到下一个
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;
$time_remaining->s;