rdsedmundo

time.php

Feb 14th, 2012
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.10 KB | None | 0 0
  1. <?php
  2. function distanceOfTimeInWords($fromTime, $toTime = 0, $showLessThanAMinute = false) {
  3.     $distanceInSeconds = round(abs($toTime - $fromTime));
  4.     $distanceInMinutes = round($distanceInSeconds / 60);
  5.         if ( $distanceInMinutes <= 1 ) {
  6.             if ( !$showLessThanAMinute ) {
  7.                 return ($distanceInMinutes == 0) ? 'menos de 1 minuto atrás.' : '1 minuto atrás.';
  8.             } else {
  9.                 if ( $distanceInSeconds < 5 ) {
  10.                     return 'Menos de 5 segundos atrás.';
  11.                 }
  12.                 if ( $distanceInSeconds < 10 ) {
  13.                     return 'Menos de 10 segundos atrás.';
  14.                 }
  15.                 if ( $distanceInSeconds < 20 ) {
  16.                     return 'Menos de 20 segundos atrás.';
  17.                 }
  18.                 if ( $distanceInSeconds < 40 ) {
  19.                     return 'Meio minuto atrás.';
  20.                 }
  21.                 if ( $distanceInSeconds < 60 ) {
  22.                     return 'Menos de um minuto atrás.';
  23.                 }
  24.                
  25.                 return '1 minuto atrás.';
  26.             }
  27.         }
  28.         if ( $distanceInMinutes < 45 ) {
  29.             return $distanceInMinutes . ' minutos atrás.';
  30.         }
  31.         if ( $distanceInMinutes < 90 ) {
  32.             return '1 hora atrás.';
  33.         }
  34.         if ( $distanceInMinutes < 1440 ) {
  35.             return '' . round(floatval($distanceInMinutes) / 60.0) . ' horas atrás.';
  36.         }
  37.         if ( $distanceInMinutes < 2880 ) {
  38.             return '1 dia atrás.';
  39.         }
  40.         if ( $distanceInMinutes < 43200 ) {
  41.             return '' . round(floatval($distanceInMinutes) / 1440) . ' dias atrás.';
  42.         }
  43.         if ( $distanceInMinutes < 86400 ) {
  44.             return '1 mês atrás';
  45.         }
  46.         if ( $distanceInMinutes < 525600 ) {
  47.             return round(floatval($distanceInMinutes) / 43200) . ' meses atrás.';
  48.         }
  49.         if ( $distanceInMinutes < 1051199 ) {
  50.             return '1 ano atrás';
  51.         }
  52.        
  53.         return '' . round(floatval($distanceInMinutes) / 525600) . ' anos atrás.';
  54. }
  55. ?>
Advertisement
Add Comment
Please, Sign In to add comment