fork download
  1. <?php
  2.  
  3. function RelativeTimeString($timestamp) {
  4. $minute = 60;
  5. $hour = $minute * 60;
  6. $day = $hour * 24;
  7. $month = 30 * $day;
  8. $year = 12 * $month;
  9.  
  10. $delta = floor(time()-$timestamp);
  11. if ($delta < 2 ) return 'Agorinha';
  12. if ($delta < 1 * $minute) return "Há $delta segundos";
  13. if ($delta < 2 * $minute) return 'Há um minuto';
  14. if ($delta < 45 * $minute) return 'Há '.round($delta / $minute).' minutos';
  15. if ($delta < 90 * $minute) return 'Há uma hora';
  16. if ($delta < 24 * $hour) return 'Há '.round($delta / $hour).' horas';
  17. if ($delta < 48 * $hour) return 'Ontem';
  18. if ($delta < 30 * $day) return 'Há '.round($delta / $day).' dias';
  19. if ($delta < 45 * $day) return 'Há um mês';
  20. if ($delta < 12 * $month) return 'Há '.round($delta / $month).' meses';
  21. if ($delta < 18 * $month) return 'Há um ano';
  22. return 'Há '.round($delta / $year).' anos';
  23. }
  24.  
  25. // Duas coisas: primeiro, cuidado com o cache do IDEONE,
  26. // ele guarda o output de quando o código foi executado, e não visualizado
  27. // segundo: o timezone do servidor do IDEONE provavelmente não bate com o seu,
  28. // então faça testes com horários UTC.
  29.  
  30. echo RelativeTimeString(mktime(0,0,0,5,31,2013)).PHP_EOL;
  31. echo RelativeTimeString(mktime(0,0,0,3,31,2017)).PHP_EOL;
Success #stdin #stdout 0.02s 83904KB
stdin
Standard input is empty
stdout
Há 4 anos
Há 7 dias