PHP获得最后五分钟的增量

PHP获得最后五分钟的增量,php,Php,我希望从当前时间中获得上一个5分钟的增量 假设当前时间是UTC下午12:07 我想输入一个变量UTC时间12:05pm 有什么简单的方法可以做到这一点呢?没有内置的东西允许您检索“增量”,但是您可以用最少的代码来计算它。在这里使用模可以让您计算出最近5分钟的标记有多远。它永远不会超过5分钟(300秒),并且总是可以安全地减去它,将您带回您想要的时间 $now=time(); 现在就给我10美元。PHP_EOL; $5_分钟=60*5;//300 $offset=$now%$5分钟; $five_

我希望从当前时间中获得上一个5分钟的增量

假设当前时间是UTC下午12:07

我想输入一个变量UTC时间12:05pm


有什么简单的方法可以做到这一点呢?

没有内置的东西允许您检索“增量”,但是您可以用最少的代码来计算它。在这里使用模可以让您计算出最近5分钟的标记有多远。它永远不会超过5分钟(300秒),并且总是可以安全地减去它,将您带回您想要的时间

$now=time();
现在就给我10美元。PHP_EOL;
$5_分钟=60*5;//300
$offset=$now%$5分钟;
$five_block=$now-$offset;
回音日期('Y-m-d H:i:s',$5U区块);

首先,您需要从存储的变量中提取分钟数。然后从数学上讲,通过应用除法和楼层函数,这是很简单的。为此,您可以首先使用
intdiv(分子、分母)
除以5,这将删除所有尾随的小数点,然后再次乘以5,以五为增量获得所需的值。

您可以使用
DateTime
类()执行此操作:


使用time()获取当前时间

$min = 300
$currentTime = time();
$mod = $currentTime % $min;
$res = $currentTime - $mod;
finalResult =  date('Y-m-d H:i:s', $res);

首先需要将时间转换为某种形式的时间值,然后提取分钟数。然后,您应该能够操纵会议记录。试一试,如果你陷入困境,那么添加你的尝试,我们可以帮助你解决它。Carbon::now()->subMinutes(5)->format(“h:i”),使用它你可以很容易地得到预期的结果。@JasimJuwel,这只是减去5分钟吗?也不确定他们是否使用了碳,但如果不是的话,只需四舍五入到5分钟(IMHO)@NigelRen是的,只需减去5分钟就可以了。投票结果如何?哈哈,不错!在我的实验中,我最初错误地将舍入应用于秒。
<?php

$date = new DateTime('12:07 UTC');
$date->setTime(
    $date->format('H'), 
    round($date->format('i') / 5) * 5, 
    $date->format('s')
);
$min = 300
$currentTime = time();
$mod = $currentTime % $min;
$res = $currentTime - $mod;
finalResult =  date('Y-m-d H:i:s', $res);