使用内置 PHP 函数进行舍入时间以考虑日期和时间是很重要的。例如2020-10-09 23:37:35
需要2020-10-10 00:00:00
在四舍五入到最接近的小时时变为。
循环时间到最近的时间:
$time = '2020-10-09 23:37:35';
$time = date("Y-m-d H:i:s", round(strtotime($time) / 3600) * 3600); // 2020-10-10 00:00:00
$time = '2020-10-09 23:15:35';
$time = date("Y-m-d H:i:s", round(strtotime($time) / 3600) * 3600); // 2020-10-09 23:00:00
舍入到最近的 20 分钟增量:
$time = '2020-10-09 23:15:35';
$time = date("Y-m-d H:i:s", ceil(strtotime($time) / (60*20))*(60*20)); // 2020-10-09 23:20:00
$time = '2020-10-09 23:41:35';
$time = date("Y-m-d H:i:s", ceil(strtotime($time) / (60*20))*(60*20)); // 2020-10-10 00:00:00
如果您需要四舍五入到最接近的 20 分钟增量,请更改ceil
为floor
例如
$time = date("Y-m-d H:i:s", floor(strtotime($time) / (60*20))*(60*20)); // 2020-10-09 23:40:00
如果您需要将时间四舍五入到另一分钟增量,您可以简单地执行以下操作:
$time = date("Y-m-d H:i:s", ceil(strtotime($time) / (60*15))*(60*15)); // 2020-10-09 23:45:00