Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Неправильно время.

Статус
В этой теме нельзя размещать новые ответы.

Дёня

Умник
Приветствую всех!

Такая проблема. Скриптер написал систему бана и проблема в том, что при вводе времени бана, время разбана ставится совершено непонятное.

Для того, чтобы постоянно не заходить на сервер и не проверять я сделал чтобы при запуске сервера время записывалось в лог сервера.



Вот когд как в лог записывается

PHP:
main()
{
	printf("%s",uconv(gettime()));
	printf("%d",31536000+(3600));
	printf("%d",gettime());
}

ну и конечно сам код uconv

PHP:
stock uconv(unix_timestamp = 0)
{
    new year = 1970, month = 1, day  = 1, hour =  0, minute = 0, second = 0;
	getdate(year, month, day);
	gettime(hour, minute, second);
    year = unix_timestamp / 31536000+(3600*TIME_ZONE);
    unix_timestamp -= year * 31536000+(3600*TIME_ZONE);
    year += 1970;

    if ( year % 4 == 0 ) unix_timestamp -= 21600;

    day = unix_timestamp / 86400;

    switch ( day )
    {
        case  0..30 : { second = day;    month = 1; }
        case  31..58 : { second = day - 31; month = 2; }
        case  59..89 : { second = day - 59; month = 3; }
        case 90..119 : { second = day - 90; month = 4; }
        case 120..150 : { second = day - 120; month = 5; }
        case 151..180 : { second = day - 151; month = 6; }
        case 181..211 : { second = day - 181; month = 7; }
        case 212..242 : { second = day - 212; month = 8; }
        case 243..272 : { second = day - 243; month = 9; }
        case 273..303 : { second = day - 273; month = 10; }
        case 304..333 : { second = day - 304; month = 11; }
        case 334..366 : { second = day - 334; month = 12; }
    }

    unix_timestamp -= day * 86400;
    hour = unix_timestamp / 3600;

    unix_timestamp -= hour * 3600;
    minute = unix_timestamp / 60;

    unix_timestamp -= minute * 60;
    day = second + 1;
    second = unix_timestamp;
	new string[50];
	switch(month)
	{
	    case 1: string = "Января";
	    case 2: string = "Февраля";
	    case 3: string = "Марта";
	    case 4: string = "Апреля";
	    case 5: string = "Мая";
	    case 6: string = "Июня";
	    case 7: string = "Июля";
	    case 8: string = "Августа";
	    case 9: string = "Сентября";
	    case 10: string = "Октября";
	    case 11: string = "Ноября";
	    case 12: string = "Декабря";
	}
	format(string, sizeof(string), "%02d %s %d   %d:%02d:%02d", day, string, year, hour, minute, second);
	return string;
Подскажите, что не так с кодом?В долгу не останусь +сами закидаю.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу