Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos_imasters

Tempo atrás[Script]

Recommended Posts

opa ai galera tempo atrá eu estava procurando tipo quanto tempo atrás fizeram um posta exemplo 1 minuto atras etc... depois de muita quebra kabeça achei um perfeito.

e estou aqui para compatilhar com quem estava com problema como eu

 

 

bom vamos la

 

 

na tabela criei uma como timeline

 

com uma coloca com o nome quando

 

<?php
$session_time = time();
function time_stamp($session_time){ 
$time_difference = time() - $session_time ; 
$seconds = $time_difference ; 
$minutes = round($time_difference / 60 );
$hours = round($time_difference / 3600 ); 
$days = round($time_difference / 86400 ); 
$weeks = round($time_difference / 604800 ); 
$months = round($time_difference / 2419200 ); 
$years = round($time_difference / 29030400 ); 
if($seconds <= 60){
echo"$seconds segundos atras"; 
}else if($minutes <=60){
  if($minutes==1){
	echo"um minuto atras"; 
}else{
  echo"$minutes minutos atras"; 
  }
}else if($hours <=24){
  if($hours==1){
  echo"uma hora atras";
}else{
 echo"$hours horas atras";
 }
}else if($days <=7){
 if($days==1)   {
  echo"um dia atras";
}else{
 echo"$days dias atras";
 }
}else if($weeks <=4){
 if($weeks==1){
  echo"uma semana atras";
}else{
 echo"$weeks semanas atras";
 }
}else if($months <=12){
  if($months==1){
  echo"um mes atras";
}else{
 echo"$months meses atras";
}
}else{
if($years==1){
  echo"um ano atras";
}else{
 echo"$years anos atras";
}
}
}?><?php
$timelines = mysql_query("SELECT * FROM timeline");
while($timeline = mysql_fetch_array($timelines)) {
?>

 

<? $session_time = time();echo time_stamp(''.$timeline['quando'].'') ?><? }?> se quizer agradeça aki do lado >>>qualquer duvida poste ai :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, funcionou certinho, parabéns

dei uma secada

<?php
function time_ago($time) {
   $diff = time() - $time;
   $seconds = $diff;
   $minutes = round($diff / 60);
   $hours = round($diff / 3600);
   $days = round($diff / 86400);
   $weeks = round($diff / 604800);
   $months = round($diff / 2419200);
   $years = round($diff / 29030400);

   if ($seconds <= 60) echo"$seconds segundos atras";
   else if ($minutes <= 60) echo $minutes==1 ?'um minuto atras':$minutes.' minutos atras';
   else if ($hours <= 24) echo $hours==1 ?'uma hora atras':$hours.' horas atras';
   else if ($days <= 7) echo $days==1 ?'um dia atras':$days.' dias atras';
   else if ($weeks <= 4) echo $weeks==1 ?'uma semana atras':$weeks.' semanas atras';
   else if ($months <= 12) echo $months == 1 ?'um mes atras':$months.' meses atras';
   else echo $years == 1 ? 'um ano atras':$years.' anos atras';
}

$time = strtotime('02/16/2012 14:22:00');
echo time_ago($time);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites
function age($timestamp)
{
   $timestamp = (int) $timestamp;
   $difference = time() - $timestamp;
   $periods = array('second', 'minute', 'hour', 'day', 'week', 'month', 'year', 'decade');
   $lengths = array('60','60','24','7','4.35','12','10');

   for($j = 0; $difference >= $lengths[$j]; $j++)
   {
       $difference /= $lengths[$j];
   }

   $difference = round($difference);

   if($difference != 1)
   {
           $periods[$j] .= 's';
   }

   return $difference . ' ' . $periods[$j] . ' ago';}

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

ini_set('date.timezone','America/Sao_Paulo');

class DateFormatter extends DateTime
{
   private $parts = array(
       array(31104000, 'ano', 'anos'),
       array(2592000, 'mês', 'meses'),
       array(86400, 'dia', 'dias'),
       array(3600, 'hora', 'horas'),
       array(60, 'minuto', 'minutos'),
       array(1, 'segundo', 'segundos'),
   );

   public function formattedInterval(DateTime $relativeTo = NULL)
   {
       if (is_null($relativeTo)) {
           $relativeTo = new DateTime();
       }
       $diff       = parent::format('U') - $relativeTo->format('U');
       $past       = FALSE;
       if ($diff < 0) {
           $past   = TRUE;
           $diff  *= -1;
       }
       foreach ($this->parts as $subparts) {
           $n = floor($diff / $subparts[0]);
           if ($n) {
               $output = '%d %s';
               $part   = $subparts[$n > 1 ? 2 : 1];
               if ($past) {
                   $part  .= ' atrás';
               }
               return sprintf($output, $n, $part);
           }
       }
       return 'agora';
   }
}

$d = new DateFormatter('10-May-2011');

var_dump($d->formattedInterval());

 

https://gist.github.com/2912678

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.