Foros del Web » Programando para Internet » PHP »

hh:mm:ss - mostrar horas intermedias

Estas en el tema de hh:mm:ss - mostrar horas intermedias en el foro de PHP en Foros del Web. Hola, el tema es el siguiente, a mi me pasan una hora inicio (hh:mm:ss) y una hora final (hh:mm:ss), despues me pasan un valor, y ...
  #1 (permalink)  
Antiguo 15/04/2009, 01:41
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
hh:mm:ss - mostrar horas intermedias

Hola,

el tema es el siguiente, a mi me pasan una hora inicio (hh:mm:ss) y una hora final (hh:mm:ss), despues me pasan un valor, y lo q tengo q hacer es crear horas intermedias a la de inicio y a la de fin igual a ese valor.

ejemplo

horaini = 12:00:00
horafin = 13:00:00
valor = 4

tendria q mostrar lo siguiente:

12:05:00 - 12:30:00 - 12:45:34 - 12:55:21
o bien,
12:12:21 - 12:14:01- 12:32:56 - 12:41:12

totalmente random!

Saludos y gracias de antemano
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #2 (permalink)  
Antiguo 15/04/2009, 04:35
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: hh:mm:ss - mostrar horas intermedias

Mira la diferencia entre las dos fechas con datetime.diff

Y después haz un random de ese valor y lo sumas a la fecha inicial
  #3 (permalink)  
Antiguo 15/04/2009, 08:07
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: hh:mm:ss - mostrar horas intermedias

Cita:
Iniciado por JoanGarcia Ver Mensaje
Mira la diferencia entre las dos fechas con datetime.diff

Y después haz un random de ese valor y lo sumas a la fecha inicial
Podrias ser un poco mas explicito? algun ejemplo no me iria mal.

aparte si ponen una Hora inicial y una final, y el valor es 100, como puedo hacer para q la suma del random no se pase una de otro???
es decir, q el valor 1 tenga tal hora incial, el valor 2 tenga X hora incial superior a la del 1 pero inferior a la final y asi secuencialmente hasta llegar a 100...

alguna idea?

PD: en cuanto el datetime:diff tambien se restan hh:mm:ss, porque no se usa fecha en este caso!
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 15/04/2009 a las 09:09
  #4 (permalink)  
Antiguo 16/04/2009, 00:52
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: hh:mm:ss - mostrar horas intermedias

Hola de nuevo,

alguna idea de mas?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 16/04/2009, 01:53
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: hh:mm:ss - mostrar horas intermedias

Código PHP:
$date1=strtotime("01/01/2009");
$date2=strtotime("06/01/2009");

$diferencia$date2-$date1;
$aleatoriorand(0,$diferencia);


echo 
$date2;
echo 
"<BR>";
echo 
$date1;
echo 
"<BR>";
echo 
"Diferencia ".$diferencia;
echo 
"<BR>";
echo 
"Aleatorio ".$aleatorio;

$resultado=$date1+$aleatorio;
echo 
"<BR>";
echo 
"Resultado ".$resultado;
echo 
"<BR>";
echo 
date("d.m.y",$resultado); 
Así calculas una fecha aleatoria, si la diferencia quieres dividirla entre 4 o 5 o 6 o los que quieras, después lo sumas a la fecha inicial y ya está, el random no te dejará pasar de la fecha 2 nunca.
  #6 (permalink)  
Antiguo 16/04/2009, 01:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: hh:mm:ss - mostrar horas intermedias

Cita:
Iniciado por JoanGarcia Ver Mensaje
Código PHP:
$date1=strtotime("01/01/2009");
$date2=strtotime("06/01/2009");

$diferencia$date2-$date1;
$aleatoriorand(0,$diferencia);


echo 
$date2;
echo 
"<BR>";
echo 
$date1;
echo 
"<BR>";
echo 
"Diferencia ".$diferencia;
echo 
"<BR>";
echo 
"Aleatorio ".$aleatorio;

$resultado=$date1+$aleatorio;
echo 
"<BR>";
echo 
"Resultado ".$resultado;
echo 
"<BR>";
echo 
date("d.m.y",$resultado); 
Así calculas una fecha aleatoria, si la diferencia quieres dividirla entre 4 o 5 o 6 o los que quieras, después lo sumas a la fecha inicial y ya está, el random no te dejará pasar de la fecha 2 nunca.

Pero no trabajo con fechas, solo con horas... da lo mismo?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 16/04/2009 a las 02:05
  #7 (permalink)  
Antiguo 16/04/2009, 02:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: hh:mm:ss - mostrar horas intermedias

Código PHP:
$date1=strtotime("09:35:45");
$date2=strtotime("10:48:59");

$diferencia$date2-$date1;
$aleatoriorand(0,$diferencia);


echo 
$date2;
echo 
"<BR>";
echo 
$date1;
echo 
"<BR>";
echo 
"Diferencia ".$diferencia;
echo 
"<BR>";
echo 
"Aleatorio ".$aleatorio;

$resultado=$date1+$aleatorio;
echo 
"<BR>";
echo 
"Resultado ".$resultado;
echo 
"<BR>";
echo 
date("H:i:s",$resultado); 
Perdona, no se porque tenia todo el rato en la cabeza lo de las fechas, aqui tienes las horas, el tema es el mismo, pasarlo a tiempo absoluto, restar, random , sumar y mostrar
  #8 (permalink)  
Antiguo 16/04/2009, 02:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: hh:mm:ss - mostrar horas intermedias

para mostrar por orden las 100 fechas como comentas, primero haz lo que te explican aqui con un bucle, y metes cada resultado en una misma matriz, luego ordenas los valores de esa matriz sin mantener las claves con la funcion
Código PHP:
sort () ; 
, y asi se mostraran en orden ascendente o descendente, siempre siendo la primera menor que la segunda, y esta menor que la tercera...
  #9 (permalink)  
Antiguo 16/04/2009, 04:13
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: hh:mm:ss - mostrar horas intermedias

ei, muchas gracias! era justamente lo que buscaba!
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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 20:13.