例如,如果要创建“四舍五入”的时间戳,请精确到15分钟,以此为参考:
function roundTime($amount, $units = 'm', $time = null) { if (is_null($time)) { $time = time(); } if ($amount == 0) { $amount = 1; } switch ($units){ case 'm': $roundBy = 60 * $amount; break; case 'h': $time = $time + 60 * 60 * $amount; $roundBy = 60 * 60 * $amount; break; case 'd': $time = $time + 60 * 60 * 24 * $amount; $roundBy = 60 * 60 * 24 * $amount; break; } return round($time / $roundBy) * $roundBy; } echo "\n"; echo date('r', roundTime(15, 'm')); echo "\n"; echo date('r', roundTime(2, 'h')); echo "\n"; echo date('r', roundTime(3, 'd')); echo "\n"; echo date('r', roundTime(-3, 'd')); echo "\n";