PHP 15分钟四舍五入

时间:2011-12-02 09:41:05

标签: php algorithm

在PHP中,我需要在数小时和数分钟内完成15分钟的计数。但如果超过或等于7分钟,我需要它向下舍入,如果超过7分钟,我需要向上舍入。

所以我有类似的东西;

$totalHours = 10;
$totalMinutes = 46;

小时很容易计算15分钟;

$totalHours = 10*4;

但是会议记录让我有些悲伤。

一些例子是;

如果Minutes = 7则答案为0。

如果Minutes = 8则答案为1。

如果Minutes = 18则答案为1。

如果分钟= 37,那么答案是2。

如果分钟= 38,那么答案是3。

如果有人能为我做一个很好的功能,我将非常感激。 (int TotalHours,int TotalMinutes)的签名会很棒。

谢谢, 麦克

4 个答案:

答案 0 :(得分:2)

试试这段代码:

<?php
echo round($n/15);
?>

//其中n是你的分钟号码,即7,8,18,37,38等

答案 1 :(得分:1)

计算分钟数(60 *小时+分钟),然后加8,除以15,并通过调用int()截断结果。

答案 2 :(得分:1)

舍入到最近的X:除以x,舍入到最接近的int,乘以x。

$nearest = round($minutes / 15) * 15;

但是在你的情况下,如果你只想要计算一下,你可以简单地跳过最后一步。

$numberOfQuarterHours = round($minutes / 15);

答案 3 :(得分:0)

您可以尝试模数操作。

PHP.net MOD

除以15然后得到剩下的部分。你可以在那里申请7&lt; x&lt; 8