我希望从当前时间开始获得之前的五分钟增量...
让我们说当前时间是世界标准时间12:07 pm
我想在UTC下午12:05放入一个变量
解决这个问题的简单方法是什么?
答案 0 :(得分:1)
没有内置的东西可以让您检索“增量”,但是您可以用最少的代码进行计算。在这里使用模数,可以算出最近5分钟标记的距离。它永远不会超过5分钟(300秒),并且始终可以安全地减去它,使您回到想要的时间。
$now = time();
echo $now . PHP_EOL;
$five_minutes = 60*5; // 300
$offset = $now % $five_minutes;
$five_block = $now - $offset;
echo date('Y-m-d H:i:s', $five_block);
答案 1 :(得分:1)
首先,您需要从其存储的变量中提取分钟。然后,在数学上,通过应用除法和下限函数,这很简单。为此,您可以先使用intdiv(numerator, denominator)
除以5,这将删除所有尾随的小数点,然后再乘以5,以5的增量获得所需的值。
答案 2 :(得分:1)
您可以使用DateTime
类(https://3v4l.org/7aqMH)来做到这一点:
<?php
$date = new DateTime('12:07 UTC');
$minutes = (int) $date->format('i');
$rounded = round($minutes / 5) * 5;
$date->setTime($date->format('H'), $rounded, $date->format('s'));
或更简洁:
<?php
$date = new DateTime('12:07 UTC');
$date->setTime(
$date->format('H'),
round($date->format('i') / 5) * 5,
$date->format('s')
);
答案 3 :(得分:1)
使用 time()获取当前时间:
$min = 300
$currentTime = time();
$mod = $currentTime % $min;
$res = $currentTime - $mod;
finalResult = date('Y-m-d H:i:s', $res);