DjHuSo
Kod · PHP103 qator
public static function display_date($var)

{

    $pl = function ($int, $arr) {        

        if ($int > 10 && $int < 15) {

            $out = ' '. $arr[2];

        } else {

            if (($int % 10) == 1) {

                $out = ' '. $arr[0];

            } elseif (($int % 10) > 1 && ($int % 10) < 5) {

                $out = ' '. $arr[1];

            } else {

                $out = ' '. $arr[2];

            }

        }

 

        return $int . $out;

    };

 

    $label = time() - $var;

 

    $w = 'секунд';

    $arrSec = [$w .'у', $w .'ы', $w];

    $w = 'минут';

    $arrMin = [$w .'у', $w .'ы', $w];

    $w = 'час';

    $arrHour = [$w, $w .'а', $w .'ов'];

    $w = 'дн';

    $arrDays = ['день', $w .'я', $w .'ей'];

    $w = 'месяц';

    $arrMonths = [$w, $w .'а', $w .'ев'];

    $back = ' назад';

 

    if ($label == 0) {

        $out = 'только что';

    } elseif ($label < 60) {

        $out = $pl($label, $arrSec) . $back;

    } elseif ($label < 3600) {

        $out = $pl(intval($label / 60), $arrMin) . $back;

    } elseif ($label < (3600 * 24)) {

        $out = $pl(intval($label / 3600), $arrHour) . $back;

    } elseif ($label < (3600 * 24 * date('t'))) {

        $out = $pl(intval($label / (3600 * 24)), $arrDays) . $back;

    } elseif ($label < (3600 * 24 * (date('L') + 365))) {

        $out = $pl(intval($label / (3600 * 24 * 30)), $arrMonths) . $back;

    } else {

        $shift = (self::$system_set['timeshift'] 

            + self::$user_set['timeshift']) * 3600;

        $out = date('d.m.Y / H:i', $var + $shift);

    }

 

    return $out;

}
vaqt funksiyasi