Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/06/2012, 10:37
txandy
 
Fecha de Ingreso: marzo-2008
Mensajes: 69
Antigüedad: 16 años, 8 meses
Puntos: 9
Respuesta: redondear horas

Cita:
Iniciado por dante14 Ver Mensaje
como puedo redondear una hora a la unidad

por ejemplo si es 8:45 que redondee a 9:00


tengo esta funcion

Código PHP:
  function restaHoras($horaIni$horaFin){
        return (
date("H:i:s"strtotime("00:00:00") + strtotime($horaFin) - strtotime($horaIni) ));

No se si quieres redondear la salida o la entrada...

Este ejemplo es para redondear la entrada de $horaIni, si los minutos son superiores a 30, añade +1 hora y los minutos a 0 (habría que tratar también los segundos).

Código PHP:
function restaHoras($horaIni$horaFin){ 
    list(
$h,$m,$s) = explode(":",$horaIni);
    if(
$m 30) {
        
$m 0;
        
$h += 1
    } else {
        
$m 0;
    }
    
$horaIni "$h:$m:$s";
    return (
date("H:i:s"strtotime("00:00:00") + strtotime($horaFin) - strtotime($horaIni) )); 

Si lo que quieres redondear es la salida, seria lo mismo, simplemente guardas en una variable el return y haces explode ;)

Espero que te sirva, saludos