Вход Регистрация
Файл: sys/classes/date.class.php
Строк: 154
<?php

class date {

    static function 
number($num$one$two$more) {
        
$num = (int) $num;
        
$l2 substr($numstrlen($num) - 22);

        if (
$l2 >= && $l2 <= 20) {
            return 
$more;
        }
        
$l substr($numstrlen($num) - 11);
        switch (
$l) {
            case 
1:
                return 
$one;
                break;
            case 
2:
                return 
$two;
                break;
            case 
3:
                return 
$two;
                break;
            case 
4:
                return 
$two;
                break;
            default:
                return 
$more;
                break;
        }
    }

    
#читабельное представление времени с учетом часового пояса пользователя

    
static function time($time null$adaptive true) {
        if (
$time TIME) {
            
$time -= TIME;
            
$mes 0;
            
$day 0;
            
$hour 0;
            
$min 0;
            
$sec 0;
            if (
$time) {
                
$sec $time 60;
            }
            if (
$time >= 60) {
                
$min floor($time 60 60);
            }
            if (
$time >= 3600) {
                
$hour floor($time 3600 24);
            }
            if (
$time >= 86400) {
                
$day floor($time 86400 30);
            }
            if (
$time >= 2592000) {
                
$mes floor($time 2592000 12);
            }

            if (
$mes) {
                return 
$mes ' месяц' self::number($mes'''а''ев') . ($day ? (', ' $day ' ' self::number($day'день''дня''дней') . ($hour ' и ' $hour ' час' self::number($hour'''а''ов') : '')) : '');
            }
            if (
$day) {
                return 
$day ' ' self::number($day'день''дня''дней') . ($hour ? (', ' $hour ' час' self::number($hour'''а''ов') . ($min ' и ' $min ' минут' self::number($min'а''ы''') : '')) : '');
            }
            if (
$hour) {
                return 
$hour ' час' self::number($hour'''а''ов') . ($min ? (', ' $min ' минут' self::number($min'а''ы''') . ($sec ' и ' $sec ' секунд' self::number($sec'а''ы''') : '')) : '');
            }
            if (
$min) {
                return 
$min ' минут' self::number($min'а''ы''') . ($sec ' и ' $sec ' секунд' self::number($sec'а''ы''') : '');
            }
            return 
$sec ' секунд' self::number($sec'а''ы''');
        } else {
            global 
$user;
            if (!
$time) {
                
$time TIME;
            }
            if (
$user['group_access']) {
                
$time_shift $user['set_timesdvig'];
            } else {
                
$time_shift 0;
            }
            
$time $time $time_shift 3600;
            
$vremja date('j M в H:i'$time);
            
$time_p[0] = date('j n Y'$time);
            
$time_p[1] = date('H:i'$time);
            if (
$adaptive && $time_p[0] == date('j n Y'TIME $time_shift 60 60)) {
                
$vremja date('H:i:s'$time);
            }
            if (
$adaptive && $time_p[0] == date('j n Y'TIME 60 60 * (24 $time_shift))) {
                
$vremja "Вчера, в $time_p[1]";
            }
            if (
$adaptive && $time_p[0] == date('j n Y'TIME 60 60 * (48 $time_shift))) {
                
$vremja "Позавчера, в $time_p[1]";
            }
            
$vremja str_replace("Jan""Янв"$vremja);
            
$vremja str_replace("Feb""Фев"$vremja);
            
$vremja str_replace("Mar""Марта"$vremja);
            
$vremja str_replace("May""Мая"$vremja);
            
$vremja str_replace("Apr""Апр"$vremja);
            
$vremja str_replace("Jun""Июня"$vremja);
            
$vremja str_replace("Jul""Июля"$vremja);
            
$vremja str_replace("Aug""Авг"$vremja);
            
$vremja str_replace("Sep""Сент"$vremja);
            
$vremja str_replace("Oct""Окт"$vremja);
            
$vremja str_replace("Nov""Ноября"$vremja);
            
$vremja str_replace("Dec""Дек"$vremja);
            return 
$vremja;
        }
    }

    static function 
timemini($time null$adaptive true) {
        if (
$time TIME) {
            
$time -= TIME;
            
$mes 0;
            
$day 0;
            
$hour 0;
            
$min 0;
            
$sec 0;
            if (
$time) {
                
$sec $time 60;
            }
            if (
$time >= 60) {
                
$min floor($time 60 60);
            }
            if (
$time >= 3600) {
                
$hour floor($time 3600 24);
            }
            if (
$time >= 86400) {
                
$day floor($time 86400 30);
            }
            if (
$time >= 2592000) {
                
$mes floor($time 2592000 12);
            }

            if (
$mes) {
                return 
$mes ' месяц' self::number($mes'''а''ев') . ($day ? (', ' $day ' ' self::number($day'день''дня''дней') . ($hour ' и ' $hour ' час' self::number($hour'''а''ов') : '')) : '');
            }
            if (
$day) {
                return 
$day ' ' self::number($day'день''дня''дней') . ($hour ? (', ' $hour ' час' self::number($hour'''а''ов') . ($min ' и ' $min ' минут' self::number($min'а''ы''') : '')) : '');
            }
            if (
$hour) {
                return 
$hour ' час' self::number($hour'''а''ов') . ($min ? (', ' $min ' минут' self::number($min'а''ы''') . ($sec ' и ' $sec ' секунд' self::number($sec'а''ы''') : '')) : '');
            }
            if (
$min) {
                return 
$min ' минут' self::number($min'а''ы''') . ($sec ' и ' $sec ' секунд' self::number($sec'а''ы''') : '');
            }
            return 
$sec ' секунд' self::number($sec'а''ы''');
        } else {
            global 
$user;
            if (!
$time) {
                
$time TIME;
            }
            if (
$user['group_access']) {
                
$time_shift $user['set_timesdvig'];
            } else {
                
$time_shift 0;
            }
            
$time $time $time_shift 3600;
            
$vremja date('H:i'$time);
            
$time_p[0] = date('j n Y'$time);
            
$time_p[1] = date('H:i'$time);
            if (
$adaptive && $time_p[0] == date('j n Y'TIME $time_shift 60 60)) {
                
$vremja date('H:i'$time);
            }
            if (
$adaptive && $time_p[0] == date('j n Y'TIME 60 60 * (24 $time_shift))) {
                
$vremja "$time_p[1]";
            }
            if (
$adaptive && $time_p[0] == date('j n Y'TIME 60 60 * (48 $time_shift))) {
                
$vremja "$time_p[1]";
            }
            
$vremja str_replace("Jan""Янв"$vremja);
            
$vremja str_replace("Feb""Фев"$vremja);
            
$vremja str_replace("Mar""Марта"$vremja);
            
$vremja str_replace("May""Мая"$vremja);
            
$vremja str_replace("Apr""Апр"$vremja);
            
$vremja str_replace("Jun""Июня"$vremja);
            
$vremja str_replace("Jul""Июля"$vremja);
            
$vremja str_replace("Aug""Авг"$vremja);
            
$vremja str_replace("Sep""Сент"$vremja);
            
$vremja str_replace("Oct""Окт"$vremja);
            
$vremja str_replace("Nov""Ноября"$vremja);
            
$vremja str_replace("Dec""Дек"$vremja);
            return 
$vremja;
        }
    }

    static function 
times($times) {
        global 
$set$time;
        static 
$users;
        
$lama round(($time $times) / 60);
        if (
$lama 1) {
            
$lama "только что";
        }
        if (
$lama >= && $lama 60) {
            
$lama "" sklon_text($lama, array('минуту''минуты''минут')) . " назад";
        }
        if (
$lama >= 60 && $lama 1440) {
            
$lama round($lama 60);
            
$lama "" sklon_text($lama, array('час''часа''часов')) . " назад";
        }
        if (
$lama >= 1440) {
            
$lama round($lama 60 24);
            
$lama "" sklon_text($lama, array('день''дня''дней')) . " назад";
        }
        return 
$lama;
    }

    static function 
timek($times) {
        global 
$set$time;
        static 
$users;
        
$lama round(($time $times) / 60);
        if (
$lama 1) {
            
$lama "только что";
        }
        if (
$lama >= && $lama 60) {
            
$lama "$lama м. назад";
        }
        if (
$lama >= 60 && $lama 1440) {
            
$lama round($lama 60);
            
$lama "$lama ч. назад";
        }
        if (
$lama >= 1440) {
            
$lama round($lama 60 24);
            
$lama "$lama д. назад";
        }
        return 
$lama;
    }

    static function 
sictime($timediff) {
        
$oneMinute 60;
        
$oneHour 60 60;
        
$oneDay 60 60 24;
        
$dayfield floor($timediff $oneDay);
        
$hourfield floor(($timediff $dayfield $oneDay) / $oneHour);
        
$minutefield floor(($timediff $dayfield $oneDay $hourfield $oneHour) / $oneMinute);
        
$secondfield floor(($timediff $dayfield $oneDay $hourfield $oneHour $minutefield $oneMinute));
        
$time_1 "$hourfield ч. $minutefield м. $secondfield сек.";
        return 
$time_1;
    }

    
#Вывод названия месяца

    
static function rus_mes($num$v 1) {
        switch (
$num) {
            case 
1:return 'Январ' . ($v 'я' 'ь');
            case 
2:return 'Феврал' . ($v 'я' 'ь');
            case 
3:return 'Март' . ($v 'а' '');
            case 
4:return 'Апрел' . ($v 'я' 'ь');
            case 
5:return 'Ма' . ($v 'я' 'й');
            case 
6:return 'Июн' . ($v 'я' 'ь');
            case 
7:return 'Июл' . ($v 'я' 'ь');
            case 
8:return 'Август' . ($v 'а' '');
            case 
9:return 'Сентябр' . ($v 'я' 'ь');
            case 
10:return 'Октябр' . ($v 'я' 'ь');
            case 
11:return 'Ноябр' . ($v 'я' 'ь');
            case 
12:return 'Декабр' . ($v 'я' 'ь');
            default:return 
false;
        }
    }

}
Онлайн: 1
Реклама