Foros del Web » Programando para Internet » PHP »

Sistema Tiempo

Estas en el tema de Sistema Tiempo en el foro de PHP en Foros del Web. Hola, estoy haciendo un sistema tipo comentarios y quiero agregar eso tipo facebook que aparece: Hace menos de un minuto / Hace 1 hora... etc. ...
  #1 (permalink)  
Antiguo 31/01/2012, 22:00
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Sistema Tiempo

Hola, estoy haciendo un sistema tipo comentarios y quiero agregar eso tipo facebook que aparece: Hace menos de un minuto / Hace 1 hora... etc.


Con mysql. Me imagino que se guarda la hora exacta del comentario y a partir de ahí se hace una suma de tiempo. Pero no se como hacerlo....



Gracias de antemano.
  #2 (permalink)  
Antiguo 31/01/2012, 22:24
Avatar de Agusx1211  
Fecha de Ingreso: octubre-2009
Ubicación: Buenos Aires
Mensajes: 33
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Sistema Tiempo

Un tip...

Time() ;)
  #3 (permalink)  
Antiguo 31/01/2012, 22:26
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Sistema Tiempo

Cita:
Iniciado por Agusx1211 Ver Mensaje
Un tip...

Time() ;)
Si pero la parte dificl es la de la suma
  #4 (permalink)  
Antiguo 31/01/2012, 23:10
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Sistema Tiempo

Buscando tiempo pasado php encuentras bastantes ejemplos:

Código PHP:
Ver original
  1. /**
  2.     * (desde[, hasta])
  3.     *
  4.     * Devuelve la diferencia textual entre dos fechas.
  5.     */
  6. function between($past = '', $now = '')
  7. {
  8.     $past = is_string($past)? strtotime($past): (int) $past;
  9.     $now = is_string($now)? strtotime($now): (int) $now;
  10.     $now = $now <= 0? time(): $now;// --
  11.  
  12.     // restamos..
  13.     $diff = $now - $past;
  14.  
  15.     if ($diff < 60)
  16.     {
  17.         return 'menos de un minuto';
  18.     }
  19.     else
  20.     {
  21.         if ($diff < 120)
  22.         {
  23.             return 'hace un minuto';
  24.         }
  25.         else
  26.         {
  27.             if ($diff < (60 *60))
  28.             {
  29.                 return 'hace ' . ($diff /60) . ' minutos';
  30.             }
  31.             else
  32.             {
  33.                 if ($diff < (120 *60))
  34.                 {
  35.                     return 'hace una hora';
  36.                 }
  37.                 else
  38.                 {
  39.                     if ($diff < (24 *60 *60))
  40.                     {
  41.                         return 'hace ' . ($diff /3600) . ' horas';
  42.                     }
  43.                     else
  44.                     {
  45.                         if ($diff < (48 *60 *60))
  46.                         {
  47.                             return 'hace un dia';
  48.                         }
  49.                         else
  50.                         {
  51.                             return 'hace ' . ($diff /86400) . ' dias';
  52.                         }
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.     }
  58. }

http://www.forosdelweb.com/f18/calcu...9/#post2879501

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 01/02/2012, 11:41
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Sistema Tiempo

Cita:
Iniciado por andresdzphp Ver Mensaje
Buscando tiempo pasado php encuentras bastantes ejemplos:

Código PHP:
Ver original
  1. /**
  2.     * (desde[, hasta])
  3.     *
  4.     * Devuelve la diferencia textual entre dos fechas.
  5.     */
  6. function between($past = '', $now = '')
  7. {
  8.     $past = is_string($past)? strtotime($past): (int) $past;
  9.     $now = is_string($now)? strtotime($now): (int) $now;
  10.     $now = $now <= 0? time(): $now;// --
  11.  
  12.     // restamos..
  13.     $diff = $now - $past;
  14.  
  15.     if ($diff < 60)
  16.     {
  17.         return 'menos de un minuto';
  18.     }
  19.     else
  20.     {
  21.         if ($diff < 120)
  22.         {
  23.             return 'hace un minuto';
  24.         }
  25.         else
  26.         {
  27.             if ($diff < (60 *60))
  28.             {
  29.                 return 'hace ' . ($diff /60) . ' minutos';
  30.             }
  31.             else
  32.             {
  33.                 if ($diff < (120 *60))
  34.                 {
  35.                     return 'hace una hora';
  36.                 }
  37.                 else
  38.                 {
  39.                     if ($diff < (24 *60 *60))
  40.                     {
  41.                         return 'hace ' . ($diff /3600) . ' horas';
  42.                     }
  43.                     else
  44.                     {
  45.                         if ($diff < (48 *60 *60))
  46.                         {
  47.                             return 'hace un dia';
  48.                         }
  49.                         else
  50.                         {
  51.                             return 'hace ' . ($diff /86400) . ' dias';
  52.                         }
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.     }
  58. }

http://www.forosdelweb.com/f18/calcu...9/#post2879501

Saludos.
Probé y no hace nada, en que formato debe ir la fecha $past?

Última edición por ameno123; 02/02/2012 a las 13:15

Etiquetas: mysql, sistema
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 21:58.