Foros del Web » Programando para Internet » PHP »

Pasar de horas en decimal a horas reales

Estas en el tema de Pasar de horas en decimal a horas reales en el foro de PHP en Foros del Web. Hola a todos, Tengo un script en que yo le declaro cierto valor numerico en decimal ( por ejemplo, 2,75) que hace el funcion de ...
  #1 (permalink)  
Antiguo 31/05/2008, 12:45
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 18 años, 4 meses
Puntos: 2
Pasar de horas en decimal a horas reales

Hola a todos,

Tengo un script en que yo le declaro cierto valor numerico en decimal ( por ejemplo, 2,75) que hace el funcion de horas, pero necesito pasar este valor a horas "reales" es decir: de 2,75 a 3, 15 h. ( 2 horas 75 minutos)=>( 3 horas, 15 minutos)


el caso es que no se de ninguna funcion o cualquier cosa que me sirva en PHP.
He estado dandole la vuelta toda la tarde y no se me ocurre nada.
Espero que alguien sepa hacerlo,

Muchas gracias y saludos,
  #2 (permalink)  
Antiguo 31/05/2008, 14:26
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Pasar de horas en decimal a horas reales

A ver... primero es preciso que aclares algo:
- Para mí: 2.75 horas son 2 horas y 45 minutos.
- Para ti: 2.75 horas son 2 horas y 75 minutos? O sea que los decimales no son realmente decimales. En este caso 2.75 es diferente de 2.750... ¿es así? Un poquito complicado tu sistema de formato de hora.

No te va a quedar otra que crearte tu propia función donde sigas los mismos pasos que utilizaste para determinar que 2.75 = 3:15.

Saludos,
  #3 (permalink)  
Antiguo 01/06/2008, 05:47
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: Pasar de horas en decimal a horas reales

vamos a ver,

tienes razon pero lo que pasa es que en la web que estoy haciendo se deben de ingresar horas en dos campos de formulario, en uno se ponen horas y en el otro minutos.
Es decir, el usuario pone: Cuanto dura una sesion? 2 horas i 45 minutos. hasta ahi bien, pero lo malo es que luego en el script tengo k multiplicar esas horas es decir 2:45 x 2 = 4:90. Claro, eso ya no son horas correctas ya que el 90, deberia ser un 1:30 con lo que quedaria 5:30.

No se si me e explicado bien, espero que si.

A ver si alguien me hecha una mano y saludos!
  #4 (permalink)  
Antiguo 01/06/2008, 12:04
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Pasar de horas en decimal a horas reales

Entiendo.... lo que no esntiendo es por qué los pones en forma de decimales... pero bueno.

Para resolver tu problema, tienes que trabajar con los minutos:
Primero: usa fmod() para saber los minutos que sobrarán.
Luego divide entre 60 y tendrás las horas.

Luego sumas las horas que ya tenías + las horas sacadas de los minutos.
Código PHP:
$horas 2;
$minutos 75;

// Convirtiendo los minutos a horas + minutos
$minutos_sobrantes fmod$minutos60 );
$minutos_a_horas = ( $minutos $minutos_sobrantes ) / 60;

$horas_total $horas $minutos_a_horas;

echo 
'horas : '$horas_total '<br />';
echo 
'minutos : '$minutos_sobrantes '<br />'
Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:14.