Advertisement
Guest User

Time_dec

a guest
Sep 20th, 2013
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.25 KB | None | 0 0
  1. <?php
  2.     date_default_timezone_set("America/Sao_Paulo");
  3.  
  4.     function tempo_decorrido($dataini, $datafim){
  5.         $sep_datahora = explode(' ', $dataini);
  6.         $sep_data = explode('/', $sep_datahora[0]);
  7.         $sep_hora = explode(':', $sep_datahora[1]);
  8.         $dtini = mktime($sep_hora[0], $sep_hora[1], $sep_hora[2], $sep_data[1], $sep_data[0], $sep_data[2]);
  9.  
  10.         $sep_datahora = explode(' ', $datafim);
  11.         $sep_data = explode('/', $sep_datahora[0]);
  12.         $sep_hora = explode(':', $sep_datahora[1]);
  13.         $dtfim = mktime($sep_hora[0], $sep_hora[1], $sep_hora[2], $sep_data[1], $sep_data[0], $sep_data[2]);
  14.  
  15.         $time = ($dtfim-$dtini);
  16.  
  17.         $days = floor($time/86400);
  18.         $hours = floor(($time - ($days*86400))/3600);
  19.         $mins = floor(($time - ($days*86400)-($hours*3600))/60);
  20.         $secs = floor($time-($days*86400)-($hours*3600)-($mins*60));
  21.         $ano = ($days>365) ? floor($days/365) : '';
  22.  
  23.         $retorno = '';
  24.         if($days > 365)
  25.             $retorno .= $ano.'a ';
  26.         else
  27.             $retorno .= ($days>0) ? $days.'d ' : '';
  28.  
  29.         $retorno .= ($hours>0) ? $hours.'h ' : '';
  30.         $retorno .= ($mins>0) ? $mins.'m ' : '';
  31.         $retorno .= ($secs>0) ? $secs.'s ' : '';
  32.         return $retorno;
  33.     }
  34.  
  35.     $dataAtual = date('d/m/Y H:i:s');
  36.     $datainicio = '02/08/2010 20:30:16';
  37.     echo tempo_decorrido($datainicio, $dataAtual);
  38. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement