Foros del Web » Programando para Internet » PHP »

Mostrar fecha y tiempo de publicacion.

Estas en el tema de Mostrar fecha y tiempo de publicacion. en el foro de PHP en Foros del Web. Tengo esta duda, como logro mostrar la fecha y el tiempo que lleva la publicación. Similar a como lo hace facebook, pero incluyendo la fecha ...
  #1 (permalink)  
Antiguo 21/02/2011, 18:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 14 años, 3 meses
Puntos: 3
Mostrar fecha y tiempo de publicacion.

Tengo esta duda, como logro mostrar la fecha y el tiempo que lleva la publicación.

Similar a como lo hace facebook, pero incluyendo la fecha también.

Ejemplo:




O algo así como:

Se ha publicado hace 26 minutos.

Se ha publicado el 21.2.2011 a las 19:52hrs.


Espero de la ayuda :) Gracias.
  #2 (permalink)  
Antiguo 21/02/2011, 18:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Mostrar fecha y tiempo de publicacion.

La solución es :

Código PHP:
Ver original
  1. <?php
  2.  
  3. function tiempo_transcurrido($fecha) {
  4.     if(empty($fecha)) {
  5.           return "No hay fecha";
  6.     }
  7.    
  8.     $intervalos = array("segundo", "minuto", "hora", "día", "semana", "mes", "año");
  9.     $duraciones = array("60","60","24","7","4.35","12");
  10.    
  11.     $ahora = time();
  12.     $Fecha_Unix = strtotime($fecha);
  13.    
  14.     if(empty($Fecha_Unix)) {  
  15.           return "Fecha incorracta";
  16.     }
  17.     if($ahora > $Fecha_Unix) {  
  18.           $diferencia     =$ahora - $Fecha_Unix;
  19.           $tiempo         = "Hace";
  20.     } else {
  21.           $diferencia     = $Fecha_Unix -$ahora;
  22.           $tiempo         = "Dentro de";
  23.     }
  24.     for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) {
  25.       $diferencia /= $duraciones[$j];
  26.     }
  27.    
  28.     $diferencia = round($diferencia);
  29.    
  30.     if($diferencia != 1) {
  31.         $intervalos[5].="e"; //MESES
  32.         $intervalos[$j].= "s";
  33.     }
  34.    
  35.     return "$tiempo $diferencia $intervalos[$j]";
  36. }
  37.  
  38. // Ejemplos de uso
  39. // fecha en formato yyyy-mm-dd
  40. // echo tiempo_transcurrido('2010/02/05');
  41. // fecha y hora
  42. echo tiempo_transcurrido('2011/02/21 21:37:00');
  43. ?>
  #3 (permalink)  
Antiguo 21/02/2011, 20:06
 
Fecha de Ingreso: enero-2011
Ubicación: Argentina
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 12
Respuesta: Mostrar fecha y tiempo de publicacion.

Ah!... mirá vos! yo lo tengo hecho de otra forma con PHP voy a ver como me funciona de esta manera.

Quiero tomarme el atrevimiento de agregar una consulta en tu tema ZeThito por favor y mil disculpas desde ya, pero creo que nos puede beneficiar a más de uno que este también un poco desorientado en el tema.

Ahora bien, si yo intento que se actualice cada un minuto no les parece que consumiria muchos recursos y tráfico?

No sería bueno tomar la fecha con PHP pasarla a Javascript? Como sería entonces la mejor forma? Sé que no es el área de Javascript ni Ajax en foro pero quizás como se puede utilizar Php para enviar la fecha obtenida desde MySQL y pasarla por Ajax para lograr Hace unos segundos.... Hace un minuto.... Hace 2 minutos.... Hace una hora aproximadamente y así hasta cumplidas las 24 horas, a partir de ahí, comenzaría a trabajar PHP solo.

Qué tal de esa manera alguien tiene la forma de orientarnos un poco en el tema?

Gracias y mil disculpas ZeThito por agregar una consulta sobre la tuya.
  #4 (permalink)  
Antiguo 31/03/2011, 21:11
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Mostrar fecha y tiempo de publicacion.

hola...y una pregunta como haces si fue publicado por ejemplo a una hora...y la publicacion es vivistada en un pais..donde la hora sea anterior a la de la publicacion...osea no habria alli un problema..?....no es mejor utilizar solo mysql y la funcion datediff( ) ????

Etiquetas: publicacion, fechas
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 19:45.