我需要0:30到0:59来向下舍入到0:30.
我需要0:00到0:29才能到0:30.
例如:08:56将向下舍入到08:30,其中09:00和09:01将需要向上舍入到09:30.
秒数应省略或舍入为:00
Nea*_*eal 13
你为什么不这样做:
$hour = date('H');
$minute = (date('i')>30)?'30':'00';
echo "$hour:$minute";
Run Code Online (Sandbox Code Playgroud)
更新
我刚刚意识到你要求所有时间四舍五入到:30:
$hour = date('H');
$minute = '30'; //always 30
echo "$hour:$minute";
Run Code Online (Sandbox Code Playgroud)
我对真实回合的解决方案是以下选项:
//Round Down
date('H:i',floor(time() / (15 * 60)) * (15 * 60))
//Round Up/Down
date('H:i',round(time() / (15 * 60)) * (15 * 60))
//Round Up
date('H:i',ceil(time() / (15 * 60)) * (15 * 60))
Run Code Online (Sandbox Code Playgroud)
替换time()为您需要的时间以及15您想要舍入的分钟数。
例子:
$currentTime = time();
echo('Current Time: ' . date('H:i',$currentTime) . '<br>Rounded Up 15 Minutes time: ' . date('H:i',ceil($currentTime / (15 * 60)) * (15 * 60)));
Run Code Online (Sandbox Code Playgroud)