Ir para o conteúdo
kenny

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

Mensagens Recomendadas

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?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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);
}

Editado por HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Editado por kenny

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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);

Editado por HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.