Foros del Web » Programando para Internet » PHP »

Convertir Segundos en una fecha..

Estas en el tema de Convertir Segundos en una fecha.. en el foro de PHP en Foros del Web. hola miren, tengo estos segundos "-2496677" y los quiero pasar a dias, horas, minutos.... alguien me puede ayudar.... para que me de una fecha como ...
  #1 (permalink)  
Antiguo 19/07/2003, 01:30
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
Convertir Segundos en una fecha..

hola miren, tengo estos segundos "-2496677" y los quiero pasar a
dias, horas, minutos.... alguien me puede ayudar.... para que me de una fecha como esta: 28 dias:13 Horas: 45 Segundos----

estoy bastante perdido... pq lo estoy haciendo dividiendo por 60,60,24 y cosas asi... y la verdad... seguro que existe una instruccion para ello...
__________________
3w.valenciadjs.com
3w.laislatv.com
  #2 (permalink)  
Antiguo 19/07/2003, 01:45
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues no estas tan perdido... hasta donde yo conozco no hay forma de cambiar segundos a su equivalente de años:meses:dias:horas:minutos:segundos a menos que dividiendo y usando funciones matemáticas como división, módulo y subsecuentes...

__________________
Manoloweb
  #3 (permalink)  
Antiguo 19/07/2003, 01:46
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Aunque si vas a estar conectado un rato, podríamos hacer ahorita una función que haga algo así...

segundosAtiempo();
__________________
Manoloweb
  #4 (permalink)  
Antiguo 19/07/2003, 01:50
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
si que voy ha estar conectado.... me interesa mucho aprender esa funcion, ya que puede servir lugo para muchas cosas....

gracias manolo....

sabes lo que pasa... que a mi me sale en decimales... y ya me vuelvo loko
__________________
3w.valenciadjs.com
3w.laislatv.com
  #5 (permalink)  
Antiguo 19/07/2003, 01:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno... dame 15 minutos para intentar algo en mi localhost, OK...

__________________
Manoloweb
  #6 (permalink)  
Antiguo 19/07/2003, 02:11
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
jue... gracias manolo.... por tu interes.... cada vez que pregunto algo me sorprendeis mas... Viva Foros Del Web....!!! Viva!!!
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 19/07/2003, 02:20
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno, pues aqui está...

Código PHP:
<?
function seg2tiempo($segundos){
    
$tiempo=$segundos;
    
$signo=($tiempo<0) ?  "-" "+";
    
$tiempo=abs($tiempo);
    
$dias=floor($tiempo/86400);
    
$resto_dias=$tiempo 86400;
    
$horas=floor($resto_dias/3600);
    
$resto_horas=$resto_dias 3600;
    
$minutos=floor($resto_horas/60);
    
$resto_minutos=$resto_horas 60;
    
$segundos=floor($resto_minutos);
    return 
$signo.$dias." d&iacute;as, ".$horas." horas, ".$minutos." minutos, ".$segundos." segundos";
}

echo 
seg2tiempo(-2496677);
?>
__________________
Manoloweb
  #8 (permalink)  
Antiguo 19/07/2003, 02:39
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
Brutal Manolo.... osea que haciendo esa funcion.... ummm, ves... con este ejemplo tan cañero... acavo de comprender la estructura de la funcion.... bueno acavo de leer el manual...jejeje... pero bien... es justo lo que necesito... un 10 para ti Manolo !!

curioso esto que haces....: $signo=($tiempo<0) ? "-" : "+";
__________________
3w.valenciadjs.com
3w.laislatv.com
  #9 (permalink)  
Antiguo 19/07/2003, 02:42
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Eso es una forma de asignar un valor condicionalmente...

$color=($esblanco=="SI") ? "blanco" : "negro";

Quiere decir, Si la variable $esblanco tiene el valor "SI", asignale "blanco" so no, asignale "negro"...

__________________
Manoloweb
  #10 (permalink)  
Antiguo 19/07/2003, 02:44
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
En el caso que puse en la función se traduce como:

Si el numero es menor que cero, entonces $signo es "-" (negativo), si no, entonces es "+" (positivo)
__________________
Manoloweb
  #11 (permalink)  
Antiguo 19/07/2003, 02:55
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
ok...;) gracias por tu tiempo manolo.... que se que no es barato...;)
__________________
3w.valenciadjs.com
3w.laislatv.com
  #12 (permalink)  
Antiguo 19/07/2003, 02:59
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Es un gusto para mi...

Cada que respondo, yo mismo aprendo algo nuevo...
__________________
Manoloweb
  #13 (permalink)  
Antiguo 02/02/2005, 09:08
Avatar de ostrasjo  
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 13 años
Puntos: 0
Me ha venido de perlas tu funcion modificandola para que me lo mostrara en este formato 00:00:00 sg. , ya que mis segundos nunca superan un dia. Un saludo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:08.