我通过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,依此类推......
简单的方法是使用整数运算。首先除以 3,然后转换为 int,然后再次乘以 3,并进行一些移动以保留您想要的序列。
例:
$current_hour = 20;
echo (intval(($current_hour + 23) / 3) * 3 + 1) % 24; // Outputs 19
$round = intval(($current_hour - 1) / 3) * 3 + 1;
$round = (intval(($currentHour + 24) / 3) * 3) % 24 + 1;
我认为是:
($current_hour - ($current_hour % 3)) + 1