php:几分钟到最近的四分之一小时,然后做更多

时间:2011-07-07 16:06:03

标签: php ceil

最初的问题是: 花费分钟数 - >变成四分之一小时 - > 1个小时是1个单位 - >输出单位

我今天整天都把一个页面放在一起,几分钟前我的大脑就停止了工作,我无法解决如何输出单位数量的问题。我知道在这个网站上发布问题会有所帮助。

因此用户输入分钟数(不是小时和分钟,只需几分钟),并且站点需要输出单位数量。一个单位是四分之一小时。会议记录总是四舍五入到最接近的四分之一小时。我知道我会以某种方式使用ceil,可能是(?)number_format,但我无法让它正确地出来。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:7)

尝试:

$units = ceil($minutes / 15) 

答案 1 :(得分:1)

我对此:

return (round($minutes / 15) * 15) % 60;

产生:

for($i=0; $i<60; $i++) {
    echo $i . ' -> ' . roundQuarter($i) . '<br/>';
}

function roundQuarter($minutes) {
    return (round($minutes / 15) * 15) % 60;
}

0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 0
6 -> 0
7 -> 0
8 -> 15
9 -> 15
10 -> 15
11 -> 15
12 -> 15
13 -> 15
14 -> 15
15 -> 15
16 -> 15
17 -> 15
18 -> 15
19 -> 15
20 -> 15
21 -> 15
22 -> 15
23 -> 30
24 -> 30
25 -> 30
26 -> 30
27 -> 30
28 -> 30
29 -> 30
30 -> 30
31 -> 30
32 -> 30
33 -> 30
34 -> 30
35 -> 30
36 -> 30
37 -> 30
38 -> 45
39 -> 45
40 -> 45
41 -> 45
42 -> 45
43 -> 45
44 -> 45
45 -> 45
46 -> 45
47 -> 45
48 -> 45
49 -> 45
50 -> 45
51 -> 45
52 -> 45
53 -> 0
54 -> 0
55 -> 0
56 -> 0
57 -> 0
58 -> 0
59 -> 0

答案 2 :(得分:0)

$rounded = floor($minutes / 15);

1 minute / 15 = 0.0666 -> 0
14 minute / 15 = 0.9333 -> 0;
15 / 15 = 1 -> 1;

对于15分钟的时间段,这将给你0-> 3。如果您想要1-4,请改用ceil()

答案 3 :(得分:0)

这不能解决问题吗?

$numberOfMinutes = 135;

$numberOfFifteenMinuteUnits = round($numberOfMinutes / 15);

echo $numberOfFifteenMinuteUnits;