Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
ARTICULO: Función en PHP para el cálculo de minutos transcurridos en dos horas dadas

 Se muestran 4 comentarios sin revisar

ivan mrsnik  17/8/05 
Esto hace lo mismo en menos lineas y no importa si pones alreves o al derecho siempre imprime el mismo numero de horas y minutos.
<?
function calcular_tiempo_trasnc($hora1,$hora2){
eval("\$tiemposegundos=mktime( (int) '".str_replace(':','\', (int) \'',$hora1)."',0,1,1,1970)-mktime( (int) '".str_replace(':','\', (int) \'',$hora2)."',0,1,1,1970);");
$minutos=abs($tiemposegundos%3600)/60;
$horas=abs((int) ($tiemposegundos/3600));
return $horas.":".$minutos;
}
echo calcular_tiempo_trasnc('13:56','18:07');
?>

rigo  26/12/05 
y que pasa si la hora 2 esta pasado de las 24 horas ejemplo 02:45....

linda jineth  19/1/07 
le falta restarle un 1 a $HORA_TRANSCURRIDA

Chepol  11/12/07 
Ante todo dar las gracias a todas las personas que altruistamente hacen estos articulos que sirven de ayuda a muchas personas.
Bien, ejecutando el código parece que el código corre bien, pero cuando los minutos son igual o mayor que 30 sube una hora más, esto es debido a que se utiliza en el código un round, el cual redondea la/s hora/s pero el problema viene de las medias horas en adelante puesto que el redondeo es superior a x,51 lo cual suma una hora más para corregir este error podeis poner en lugar de round un explode, tendreis que cambiar la línea

$HORA_TRANSCURRIDA[1] = explode('.',$total_minutos_trasncurridos/60 );

así mismo donde aparezca $HORA_TRANSCURRIDA la tendreis que cambiar a $HORA_TRANSCURRIDA[1], por último tendreis que cambiar la línea
return($HORA_TRANSCURRIDA[1][0].':'.$MINUITOS_TRANSCURRIDOS.' Horas'); y dejarla tal que así, eso es todo.

Ver el articulo / faq completo Ver el articulo y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia