Converter Tempo -
MasterWinX - 02.06.2020
Estou procurando um cуdigo que converte os dias para: 'dias, hora, minuto e segundo'
Exemplo: tenho sistema de vip e falta 2 dias para acabar ai converte para 2 dias e a hora o minuto e etc.
Agradeзo a quem ajudar!
Re: Converter Tempo -
k2bi - 02.06.2020
Esse sistema nгo й meu, porйm nгo lembro de quem eu peguei.
PHP Code:
ConvertTime(number)
{
new hours = 0, mins = 0, secs = 0, string[100];
hours = floatround(number / 3600);
mins = floatround((number / 60) - (hours * 60));
secs = floatround(number - ((hours * 3600) + (mins * 60)));
new days = 0;
if(hours >= 24)
{
days = floatround((hours/24), floatround_floor);
hours = hours % 24;
}
if(days > 0)
{
format(string, 100, "%d dias, %02d:%02d:%02d", days, hours, mins, secs);
}
else if(hours > 0)
{
format(string, 100, "%02d:%02d:%02d", hours, mins, secs);
}
else
{
format(string, 100, "%02d:%02d", mins, secs);
}
return string;
}
Re: Converter Tempo -
MasterWinX - 02.06.2020
nгo й bem para converter os segundos e sim o "dia"
Re: Converter Tempo -
darkxdll - 02.06.2020
https://sampforum.blast.hk/showthread.php?tid=583208&page=2
o n0minal postou algo semelhante, de uma lida neste tуpico.
Re: Converter Tempo -
MasterWinX - 02.06.2020
tentei assim:
PHP Code:
stock ConvertDay(number)
{
number = gettime() + (number * 86400);
new hours = 0, mins = 0, secs = 0, string[100];
hours = floatround(number / 3600);
mins = floatround((number / 60) - (hours * 60));
secs = floatround(number - ((hours * 3600) + (mins * 60)));
new days = 0;
if(hours >= 24)
{
days = floatround((hours/24), floatround_floor);
hours = hours % 24;
}
if(days > 0)
{
if(days == 1)
format(string, 100, "%d dia, %02d:%02d:%02d", days, hours, mins, secs);
else
format(string, 100, "%d dias, %02d:%02d:%02d", days, hours, mins, secs);
}
else if(hours > 0)
{
format(string, 100, "%02d:%02d:%02d", hours, mins, secs);
}
else
{
format(string, 100, "%02d:%02d", mins, secs);
}
return string;
}
e nгo funcionou
Re: Converter Tempo -
Locky_ - 02.06.2020
Como й contabilizado o tempo do seu sistema? As vezes hб algum erro neste.
Por exemplo, se quero definir 30 dias de VIP para meu jogador
pawn Code:
MeuTempoVIP[playerid] = gettime() + (86400 * 30);
Agora para saber quanto tempo tenho
pawn Code:
new MeuTempo = MeuTempoVIP[playerid] - gettime(); // Basicamente eu obtenho o tempo se for maior que gettime, se for menor, jб expirou.
new Dias, Horas, Minutos, Segundos;
if(MeuTempo >= 86400) // й maior ou igual б 1 dia
{
Dias = MeuTempo / 86400;
MeuTempo -= 86400 * Dias;
}
if(MeuTempo >= 3600) // maior ou igual б 1 hora
{
Horas = MeuTempo / 3600;
MeuTempo -= 3600 * Horas;
}
if(MeuTempo >= 60) // maior ou igual a 1 minuto
{
Minutos = MeuTempo / 60;
MeuTempo -= 60 * Minutos;
}
Segundos = MeuTempo;
new MsgTempo[30];
format(MsgTempo, 30 ,"%02d dias %02d horas %02d minutos e %02d segundos", Dias, Horas, Minutos, Segundos);
Faзa a adaptaзгo conforme desejar. A lуgica basicamente й esta. Hб outras formas de exibir o tempo (no formato de data tambйm), para isto, deverб utilizar include ou plugins para exibir por exemplo que o vip de tal jogador expira em 02/06/2020 por exemplo.