Вход Регистрация
Файл: inc/daytime.php
Строк: 80
<?php
// Временные зоны по смещению (-11;+14)
define('TIMEZONES', [
    
'GMT-11:00' => 'Pacific/Pago_Pago',
    
'GMT-10:00' => 'Pacific/Tahiti',
    
'GMT-09:30' => 'Pacific/Marquesas',
    
'GMT-09:00' => 'Pacific/Gambier',
    
'GMT-08:00' => 'America/Los_Angeles',
    
'GMT-07:00' => 'America/Yellowknife',
    
'GMT-06:00' => 'America/Chicago',
    
'GMT-05:00' => 'Pacific/Easter',
    
'GMT-04:00' => 'Atlantic/Bermuda',
    
'GMT-03:30' => 'America/St_Johns',
    
'GMT-03:00' => 'Atlantic/Stanley',
    
'GMT-02:00' => 'Atlantic/South_Georgia',
    
'GMT-01:00' => 'Atlantic/Cape_Verde',
    
'GMT+00:00' => 'UTC',
    
'GMT+01:00' => 'Europe/Zurich',
    
'GMT+02:00' => 'Europe/Zaporozhye',
    
'GMT+03:00' => 'Europe/Moscow',
    
'GMT+03:30' => 'Asia/Tehran',
    
'GMT+04:00' => 'Asia/Dubai',
    
'GMT+04:30' => 'Asia/Kabul',
    
'GMT+05:00' => 'Asia/Yekaterinburg',
    
'GMT+05:30' => 'Asia/Kolkata',
    
'GMT+05:45' => 'Asia/Kathmandu',
    
'GMT+06:00' => 'Asia/Omsk',
    
'GMT+06:30' => 'Indian/Cocos',
    
'GMT+07:00' => 'Asia/Novosibirsk',
    
'GMT+08:00' => 'Australia/Perth',
    
'GMT+08:30' => 'Asia/Pyongyang',
    
'GMT+08:45' => 'Australia/Eucla',
    
'GMT+09:00' => 'Asia/Tokyo',
    
'GMT+09:30' => 'Australia/Darwin',
    
'GMT+10:00' => 'Australia/Brisbane',
    
'GMT+10:30' => 'Australia/Broken_Hill',
    
'GMT+11:00' => 'Australia/Sydney',
    
'GMT+12:00' => 'Pacific/Wallis',
    
'GMT+13:00' => 'Pacific/Fiji',
    
'GMT+13:45' => 'Pacific/Chatham',
    
'GMT+14:00' => 'Pacific/Tongatapu'
]);
// Валидация даты
function validateDate($date$format 'Y-m-d H:i:s') {

    
$d DateTime::createFromFormat($format$date);

    return (
$d && $d->format($format) == $date) ? $d->getTimestamp() : 0;

}
// Проверка Timezone ID
function isAvailableTimezone($timezone) {

    try {

        
$date = new DateTimeZone($timezone);

        return 
true;

    } catch (
Exception $e) {

        return 
false;

    }

}
// Аналог mktime() только с установлением временной зоны
function getTimeByTimezone($timezone$hour 0$minut 0$second 0) {

    
// Объект класса DateTime
    
$date = new DateTime;

    
// Устанавливаем временную зону
    
$date->setTimezone(new DateTimeZone($timezone));

    
// Задаем время
    
$date->setTime($hour$minut$second);

    
// Возвращаем метку времени Unix
    
return $date->getTimestamp();

}
// Остаток времени
function restime($sec) {

    
$sec intval($sec);

    
$rest 0;
    
$year 3600 24 365;
    
$month 3600 24 30;
    
$day 3600 24;
    
$hour 3600;
    
$min 60;

    if (
$sec >= $year) {

        
$col $sec $year;
        
$full_time quantDec(intval($col), ['год''года''лет']);
        
$rest += $sec $year;

    } elseif (
$sec >= $month) {

        
$col $sec $month;
        
$full_time quantDec(intval($col), ['месяц''месяца''месяцев']);
        
$rest += $sec $month;

    } elseif (
$sec >= $day) {

        
$col $sec $day;
        
$full_time quantDec(intval($col), ['день''дня''дней']);
        
$rest += $sec $day;

    } elseif (
$sec >= $hour) {

        
$col $sec $hour;
        
$full_time quantDec(intval($col), ['час''часа''часов']);
        
$rest += $sec $hour;

    } elseif (
$sec >= $min) {

        
$col $sec $min;
        
$full_time quantDec(intval($col), ['минута''минуты''минут']);
        
$rest += $sec $min;

    } else {

        
$full_time quantDec($sec, ['секунда''секунды''секунд']);

    }

    
$rest $rest ', ' restime($rest) : NULL;
    
$full_time.= $rest;

    return 
$full_time;

}
// Обработка времени
function daytime($var) {

    
$date date('d.m.Y'$var);
    
$time date('H:i'$var);
    
$hour date('H'$var);
    
$minut date('i'$var);

    if (
$date == date('d.m.Y')) {

        if (
$time == date('H:i')) {

            
$full_time 'Только что';

        } elseif (
$hour == date('H')) {

            
$full_time quantDec(date('i') - $minut, ['минуту''минуты''минут']) . ' назад';

        } else {

            
$full_time date('Сегодня в H:i'$var);

        }

    } elseif (
$date == date('d.m.Y'time() - 3600 24)) {

        
$full_time date('Вчера в H:i'$var);

    } elseif (
$date == date('d.m.Y'time() - 3600 24 2)) {

        
$full_time date('Позавчера в H:i'$var);

    } elseif (
$date == date('d.m.Y'time() + 3600 24)) {

        
$full_time date('Завтра в H:i'$var);

    } elseif (
$date == date('d.m.Y'time() + 3600 24 2)) {

        
$full_time date('Послезавтра в H:i'$var);

    } else {

        
$full_time date('d.m.Y в H:i'$var);

    }

    return 
$full_time;

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