Дёня
Умник
Приветствую всех!
Такая проблема. Скриптер написал систему бана и проблема в том, что при вводе времени бана, время разбана ставится совершено непонятное.
Для того, чтобы постоянно не заходить на сервер и не проверять я сделал чтобы при запуске сервера время записывалось в лог сервера.
Вот когд как в лог записывается
ну и конечно сам код uconv
Подскажите, что не так с кодом?В долгу не останусь +сами закидаю.
Такая проблема. Скриптер написал систему бана и проблема в том, что при вводе времени бана, время разбана ставится совершено непонятное.
Для того, чтобы постоянно не заходить на сервер и не проверять я сделал чтобы при запуске сервера время записывалось в лог сервера.
Вот когд как в лог записывается
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;
