DjHuSo
  1. public static function display_date($var)
  2. {
  3. $pl = function ($int, $arr) {
  4. if ($int > 10 && $int < 15) {
  5. $out = ' '. $arr[2];
  6. } else {
  7. if (($int % 10) == 1) {
  8. $out = ' '. $arr[0];
  9. } elseif (($int % 10) > 1 && ($int % 10) < 5) {
  10. $out = ' '. $arr[1];
  11. } else {
  12. $out = ' '. $arr[2];
  13. }
  14. }
  15.  
  16. return $int . $out;
  17. };
  18.  
  19. $label = time() - $var;
  20.  
  21. $w = 'секунд';
  22. $arrSec = [$w .'у', $w .'ы', $w];
  23. $w = 'минут';
  24. $arrMin = [$w .'у', $w .'ы', $w];
  25. $w = 'час';
  26. $arrHour = [$w, $w .'а', $w .'ов'];
  27. $w = 'дн';
  28. $arrDays = ['день', $w .'я', $w .'ей'];
  29. $w = 'месяц';
  30. $arrMonths = [$w, $w .'а', $w .'ев'];
  31. $back = ' назад';
  32.  
  33. if ($label == 0) {
  34. $out = 'только что';
  35. } elseif ($label < 60) {
  36. $out = $pl($label, $arrSec) . $back;
  37. } elseif ($label < 3600) {
  38. $out = $pl(intval($label / 60), $arrMin) . $back;
  39. } elseif ($label < (3600 * 24)) {
  40. $out = $pl(intval($label / 3600), $arrHour) . $back;
  41. } elseif ($label < (3600 * 24 * date('t'))) {
  42. $out = $pl(intval($label / (3600 * 24)), $arrDays) . $back;
  43. } elseif ($label < (3600 * 24 * (date('L') + 365))) {
  44. $out = $pl(intval($label / (3600 * 24 * 30)), $arrMonths) . $back;
  45. } else {
  46. $shift = (self::$system_set['timeshift']
  47. + self::$user_set['timeshift']) * 3600;
  48. $out = date('d.m.Y / H:i', $var + $shift);
  49. }
  50.  
  51. return $out;
  52. }
vaqt funksiyasi