如何将给定的时间四舍五入到最近的15分钟?

时间:2019-09-19 10:14:09

标签: php

我正在使用OT管理系统。我正在计算与每个员工相关的OT值。现在我想在最近15分钟内将此OT值四舍五入。我该怎么做?示例值如下所示。

07:17:46 need to be 07:15:00
06:25:25 need to be 06:15:00

相似的问题:Round minute down to nearest quarter hour

2 个答案:

答案 0 :(得分:1)

创建您自己的函数以四舍五入该值。您可以分解时间,然后减去提醒以使其四舍五入。 示例:

function _floor($time) {
    $elm = explode(':', $time);
    $elm[1] -= $elm[1] % 15;
    $elm[2] = '00';
    return implode(':', $elm);
}

echo _floor('07:17:46') . PHP_EOL;
echo _floor('06:25:25') . PHP_EOL;

演示在https://3v4l.org/LBKDp

答案 1 :(得分:0)

分为小时,分钟和秒。将分钟取整,用零填充并返回。

function timeLastQuarter($timestr) {
  $time = explode(":",$timestr);
  return str_pad($time[0],2,"0",STR_PAD_LEFT).":".str_pad(((floor($time[1] / 15))*15),2,"0",STR_PAD_LEFT).":00";
}

示例:

echo timeLastQuarter("15:55:00"); // 15:45:00