Jump to content
kenny

[Resolvido] Função para verificar Data de expiração

Recommended Posts

kenny

Boas pessoal.

Precisava de uma função para verificar data de expiração através de minutos inseridos num form.

Já andei a procura e não encontrei nada especifico para o que eu cria.

Cria que o formato da data de expiração fica se deste género: horas, minutos, segundos, dia, mês, ano.

Alguém me pode-me ajudar nisto?

Share this post


Link to post
Share on other sites
eatg75

@kenny porque que nao crias uma classe Date que e a abstracao de datas que encaixa ao teu problema e

e entre as operacoes que este novo tipo de dado disponibiliza e o expires(other_date); onde

other_date e uma outra instancia do Date, esta operacao recebe uma outra data e compara-a com a

data com a instancia do Date atual e retorna um boolean.

Fazendo isto vais ter o teu codigo Orientado a Objeto o que torna a reutilizacao mais simples.


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
kenny

Isto é para um projecto que trabalha com um plugin no jogo.

Ou seja eu no jogo dou Ban a um jogador e depois na tabela vai dizer o tempo que foi banido em minutos e a data de expiração.

E eu criei um form para adicionar Ban pelo site tambem.

No plugin do jogo tem esta função para calcular a data de expiração:

GenerateUnbanTime(const bantime, unban_time[], len)
{
static _hours[5], _minutes[5], _seconds[5], _month[5], _day[5], _year[7];
format_time(_hours, sizeof(_hours) - 1, "%H");
format_time(_minutes, sizeof(_minutes) - 1, "%M");
format_time(_seconds, sizeof(_seconds) - 1, "%S");
format_time(_month, sizeof(_month) - 1, "%m");
format_time(_day, sizeof(_day) - 1, "%d");
format_time(_year, sizeof(_year) - 1, "%Y");
new hours = str_to_num(_hours);
new minutes = str_to_num(_minutes);
new seconds = str_to_num(_seconds);
new month = str_to_num(_month);
new day = str_to_num(_day);
new year = str_to_num(_year);
minutes += bantime;
while( minutes >= 60 )
{
minutes -= 60;
hours++;
}
while( hours >= 24 )
{
hours -= 24;
day++;
}
new max_days = GetDaysInMonth(month, year);
while( day > max_days )
{
day -= max_days;
month++;
}
while( month > 12 )
{
month -= 12;
year++;
}
formatex(unban_time, len, "%i:%02i:%02i %i/%i/%i", hours, minutes, seconds, day, month, year);
}
GetDaysInMonth(month, year=0)
{
switch( month )
{
case 1: return 31; // january
case 2: return ((year % 4) == 0) ? 29 : 28; // february
case 3: return 31; // march
case 4: return 30; // april
case 5: return 31; // may
case 6: return 30; // june
case 7: return 31; // july
case 8: return 31; // august
case 9: return 30; // september
case 10: return 31; // october
case 11: return 30; // november
case 12: return 31; // december
}
return 30;
}

Ele vai buscar a variavel "Bantime" e calcula a data que depois é a variavel unban_time[] .

Dava me mais jeito a aparecer em data ao adicionar o tempo pelo site.

Share this post


Link to post
Share on other sites
HappyHippyHippo

se o código que meteste é PHP eu vou ali e já venho ...

tanta coisa para fazer somente isto :

function expDataString($ban_date,   // string com a data do "ban"
                      $ban_time) { // numero de minutos do "ban"
 // Cria que o formato da data de expiração fica se deste género: horas, minutos, segundos, dia, mês, ano.
 return date("H, i, s, d, m, Y", strtotime($ban_time) + $ban_time * 60);
}

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
kenny

Eu no código que postei coloquei a TAG php mas o código nao é php e eu disse que nao era @HappyHippyHippo.

No plugin do jogo tem esta função para calcular a data de expiração:

@yoda sim é isso mesmo.

Eu tenho a variavel $tempo para ir buscar o tempo que digito para o Ban e queria uma função para calcular a data de expiração ou seja $data_de_hoje + $tempo = $data_de_expiração.

Desculpem se expliquei mal o que queria.

EDIT: @yoda Eu queria em PHP se for possível e no formato horas, minutos, segundos, dia, ,mês, ano.

Edited by kenny

Share this post


Link to post
Share on other sites
HappyHippyHippo

Eu no código que postei coloquei a TAG php mas o código nao é php e eu disse que nao era @HappyHippyHippo.

em que combinação de palavras é que disseste que não era PHP ? um post com código na secção de PHP e com a tag PHP o que queres que as pessoas pensem ? que é batatas ?

$tempo = 45; // 45 minutos
$string_fim_ban = date("H, i, s, d, m, Y", time() + $tempo * 60);

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
kenny

Disse que era uma função do plugin no jogo mas pronto desculpa para uma próxima eu digo que nao é PHP.

Obrigado @HappyHippyHippo resultou.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.