我通过php获得时间
$current_hour = date("G");
现在让我们说$current_hour
等于20.我怎么把它变成19?或者,如果$current_hour
等于00,我将如何将其舍入为22?我不知道我是否解释得这么好,但基本上我想以3为间隔对每个数字进行舍入,所以我得到以下内容:
1
4
7
10
13
16
19
22
[back to begining]
中间的任何数字都应该四舍五入到最低值,因此11将是10,15将是13等等......
答案 0 :(得分:2)
简单的方法是使用整数运算。首先除以3,然后转换为int,然后再乘以3,然后进行一些移动以保留所需的序列。
示例:
$current_hour = 20;
echo (intval(($current_hour + 23) / 3) * 3 + 1) % 24; // Outputs 19
答案 1 :(得分:1)
$round = intval(($current_hour - 1) / 3) * 3 + 1;
答案 2 :(得分:0)
$round = (intval(($currentHour + 24) / 3) * 3) % 24 + 1;
答案 3 :(得分:0)
我认为是:
($current_hour - ($current_hour % 3)) + 1