php - 四舍五入到最近的 5 分钟 php mysqli

标签 php mysql time rounding

我正试图让这个时间代码向下舍入到最接近的时间 例如,如果列出的时间是 10:28,那么我希望它显示 10:25

我有的是(需要修改时间)

<?php 
include('../../database/2ndconnection.php');

$sql="SELECT * FROM raid ORDER BY TimeRecord DESC LIMIT 1";
$result=mysqli_query($dbcon,$sql);

while($rows=mysqli_fetch_array($result)){
    $dateStr = $rows['TimeRecord'];

    $pst = new \DateTime($dateStr);
    $pst->modify("-3 hours");

    $est = new \DateTime($dateStr);
} ?>

PST: <?php echo $pst->format('H:i'); ?>
<br>EST: <?php echo $est->format('H:i'); ?>

预先感谢您的帮助

最佳答案

插入这个:

<?php
$currentMinutes = $time->format('i');
$minutesToSubtract = $currentMinutes % 5;
$time = $time->sub(new DateInterval('M' . $minutesToSubtract));
?>

$currentMinutes 将保存当前分钟数,使用 %,您可以计算需要减去的分钟数,然后通过 减去它们>子函数

它可以集成到您的代码中,如下所示:

<?php 
include('../../database/2ndconnection.php');

$sql="SELECT * FROM raid ORDER BY TimeRecord DESC LIMIT 1";
$result=mysqli_query($dbcon,$sql);

while($rows=mysqli_fetch_array($result)){
    $dateStr = $rows['TimeRecord'];

    $pst = new \DateTime($dateStr);
    $pst->modify("-3 hours");

    $est = new \DateTime($dateStr);
}

$currentMinutes = $pst->format('i');
$minutesToSubtract = $currentMinutes % 5;
$pst = $pst->sub(new DateInterval('M' . $minutesToSubtract));

?>

PST: <?php echo $pst->format('H:i'); ?>
<br>EST: <?php echo $est->format('H:i'); ?>

关于php - 四舍五入到最近的 5 分钟 php mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739840/

相关文章:

mysql - 使用逗号分隔列表在列中查找逗号分隔值

c++ - 如何以毫秒为单位获取当前时间?

php - PHP 中的 Time() 函数始终显示相同的值

php - 将数据从 csv 上传到 mysql 表的相同唯一 ID

php - SQL 连接 QUERY 多个表和 SELECT

具有编辑/删除模式的 PHP while 循环仅返回第一行中的 ID

php - 解析错误 : syntax error, 意外的 T_FUNCTION 第 10 行?

MySQL NOW() 只返回年份

php - mySQL 查询,对最新记录而非所有记录进行 JOIN

java - 集成测试其行为取决于当前时间的 API