PHP код:
TimeConvert(timestamp, compare = -1)
{
if(compare == -1) compare = gettime();
new n, Float:d = (timestamp > compare) ? timestamp - compare : compare - timestamp, str[32];
if (d < 60)
{
format(str, sizeof(str), "меньше 1 минуты");
return str;
}
new l;
if (d < 3600)
{
n = floatround(floatdiv(d, 60.0), floatround_floor);
format(str, sizeof(str), "минут");
l = (n % 10);
if(!(10 < (n % 100) < 20))
{
switch(l)
{
case 1: strcat(str,"а");
case 2..4: strcat(str,"ы");
}
}
}
else if (d < 86400)
{
n = floatround(floatdiv(d, 3600.0), floatround_floor);
format(str, sizeof(str), "час");
l = (n % 10);
if(10 < (n % 100) < 20) strcat(str,"ов");
else
{
switch(l)
{
case 2..4: strcat(str,"а");
case 5..9: strcat(str,"ов");
}
}
}
else if (d < 2592000)
{
n = floatround(floatdiv(d, 86400.0), floatround_floor);
l = (n % 10);
if(10 < (n % 100) < 20) format(str, sizeof(str), "дней");
else
{
switch(l)
{
case 1: format(str, sizeof(str), "день");
case 2..4: format(str, sizeof(str), "дня");
default: format(str, sizeof(str), "дней");
}
}
}
else if (d < 31536000)
{
n = floatround(floatdiv(d, 2592000.0), floatround_floor);
l = (n % 10);
if(10 < (n % 100) < 20) format(str, sizeof(str), "месяцев");
else
{
format(str, sizeof(str), "месяц");
switch(l)
{
case 2..4: strcat(str, "а");
case 5..9: strcat(str, "ев");
}
}
}
else
{
n = floatround(floatdiv(d, 31536000.0), floatround_floor);
l = (n % 10);
if(10 < (n % 100) < 20) format(str, sizeof(str), "лет");
else
{
switch(l)
{
case 1: format(str, sizeof(str), "год");
case 2..4: format(str, sizeof(str), "года");
case 5..9: format(str, sizeof(str), "лет");
}
}
}
format(str,sizeof(str), "%d %s", n, str);
return str;
}