将分钟向下舍入到最接近的 7.小时

2022-08-30 09:39:10

我需要将时间舍入到PHP中最接近的一刻钟。时间是从 MySQL 数据库的 datetime 列中提取的,其格式类似于 。2010-03-18 10:50:00

例:

  • 10:50 需要为 10:45
  • 1:12 需要为 1:00
  • 3:28 需要为 3:15
  • 等。

我假设参与其中,但不知道如何去做。floor()

谢谢


答案 1
$seconds = time();
$rounded_seconds = round($seconds / (15 * 60)) * (15 * 60);

echo "Original: " . date('H:i', $seconds) . "\n";
echo "Rounded: " . date('H:i', $rounded_seconds) . "\n";

此示例获取当前时间并将其舍入到最接近的四分之一,并打印原始时间和舍入时间。

PS:如果要将其舍五入,请替换为.round()floor()


答案 2

您的全部功能将是这样的...

function roundToQuarterHour($timestring) {
    $minutes = date('i', strtotime($timestring));
    return $minutes - ($minutes % 15);
}

推荐