为了账号安全,请及时绑定邮箱和手机立即绑定

将分钟取整到最近的四分之一小时

将分钟取整到最近的四分之一小时

PHP
一只斗牛犬 2019-10-29 14:07:34
我需要将时间四舍五入到最接近的四分之一小时。时间是从MySQL数据库的datetime列中提取的,格式如2010-03-18 10:50:00。例:10:50必须是10:451:12必须是1:003:28必须是3:15等等我假设floor()参与其中,但不确定如何去做。谢谢
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您的全部功能将是这样的...


function roundToQuarterHour($timestring) {

    $minutes = date('i', strtotime($timestring));

    return $minutes - ($minutes % 15);

}


查看完整回答
反对 回复 2019-10-29
?
当年话下

TA贡献1890条经验 获得超9个赞

$seconds = time();

$rounded_seconds = round($seconds / (15 * 60)) * (15 * 60);


echo "Original: " . date('H:i', $seconds) . "\n";

echo "Rounded: " . date('H:i', $rounded_seconds) . "\n";

本示例获取当前时间并将其四舍五入到最接近的四分之一,并打印原始时间和四舍五入时间。


PS:如果你想详谈下来替换round()用floor()。


查看完整回答
反对 回复 2019-10-29
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

$now = getdate();

$minutes = $now['minutes'] - $now['minutes']%15;


 //Can add this to go to the nearest 15min interval (up or down)

  $rmin  = $now['minutes']%15;

  if ($rmin > 7){

    $minutes = $now['minutes'] + (15-$rmin);

   }else{

      $minutes = $now['minutes'] - $rmin;

  }


$rounded = $now['hours'].":".$minutes;

echo $rounded;


查看完整回答
反对 回复 2019-10-29
  • 3 回答
  • 0 关注
  • 324 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信