Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar tiempo como "cantidad" de horas

Estas en el tema de Mostrar tiempo como "cantidad" de horas en el foro de PHP en Foros del Web. Tengo en una base de datos, por ejemplo, el tiempo en formato Unix que un usuario pasa online en la web. Y quiero mostrarlo en ...
  #1 (permalink)  
Antiguo 19/08/2013, 10:56
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 6 años, 7 meses
Puntos: 0
Pregunta Mostrar tiempo como "cantidad" de horas

Tengo en una base de datos, por ejemplo, el tiempo en formato Unix que un usuario pasa online en la web. Y quiero mostrarlo en este formato: X días Y horas Z minutos T segundos.
He probado a darle formato con date() pero no funciona como a mi me gustaría .

He estado buscando alguna función por internet pero no encuentro nada, además de que no se como buscarlo... Espero que puedan ayudarme.
  #2 (permalink)  
Antiguo 19/08/2013, 11:18
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 11 años, 2 meses
Puntos: 36
Respuesta: Mostrar tiempo como "cantidad" de horas

mrlost,

Pasate por esta URL estan todos los parametros que les puedes pasar al date() ahi seguro encontraras los que necesitas,

http://php.net/manual/es/function.date.php
  #3 (permalink)  
Antiguo 19/08/2013, 12:21
Avatar de saseisa  
Fecha de Ingreso: agosto-2006
Mensajes: 329
Antigüedad: 13 años, 3 meses
Puntos: 9
Respuesta: Mostrar tiempo como "cantidad" de horas

tal vez te pueda servir esto
Código PHP:
function fecha_mysql_to_unix($fecha) {
    
$phpdate strtotimedate($fecha) );
    return 
$phpdate;
}

Modo de uso:
$fecha '2010-06-10';
echo 
echa_mysql_to_unix($fecha); // imprimiría: 1276120800 
  #4 (permalink)  
Antiguo 19/08/2013, 14:11
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 6 años, 7 meses
Puntos: 0
Respuesta: Mostrar tiempo como "cantidad" de horas

Lo he explicado mal, buscaba una función por que pasara de segundos a dias, horas... Aunque buscando en PHP.net he encontrado una función para lo que quería.
La dejo por aquí...

Si full es false utiliza solo una letra(d, h, m, s) para describir el numero, si es true utiliza la palabra entera ( día, hora,...). También añade una 's' cuando debe de ir en plural.

Código PHP:
Ver original
  1. 
  2. function timetostring($time,$full=true){
  3.         $time=
  4.             ($time>=31536000?floor($time/31536000).($full?" Año".(floor($time/31536000)>1?"s":""):"y").", ":"").
  5.             ($time%31536000>=86400?floor($time%31536000/86400).($full?" Día".(floor($time%31536000/86400)>1?"s":""):"d").", ":"").
  6.             ($time%31536000%86400>=3600?floor($time%31536000%86400/3600).($full?" Hora".(floor($time%31536000%86400/3600)>1?"s":""):"h").", ":"").
  7.             ($time%31536000%86400%3600>=60?floor($time%31536000%86400%3600/60).($full?" Minuto".(floor($time%31536000%86400%3600/60)>1?"s":""):"m").", ":"").
  8.             ($time%31536000%86400%3600%60>0?($time%31536000%86400%3600%60).($full?" Segundo".(floor($time%31536000%86400%3600%60)>1?"s":""):"s").", ":"");
  9.      return substr($time,0,strlen($time)-2);
  10.  }

Etiquetas: formato, horas, minutos, segundos, tiempo
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 11:30.