Guest Julio Santos Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 Olá a todos.Estou precisando fazer comparação de datas armazenadas no banco de dados.O Formato da data é 00/00/0000.Nos campos DataInicio e DataFim eu pego o registro...mas não sei como fazer o script saber se a DataInicio é maior que a DataFim.Agradeço a todos a atenção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Deividy Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 você quer comparar direto no select do banco ou depois de selecionadas? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rutger2007 Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 Olá a todos.Estou precisando fazer comparação de datas armazenadas no banco de dados.O Formato da data é 00/00/0000.Nos campos DataInicio e DataFim eu pego o registro...mas não sei como fazer o script saber se a DataInicio é maior que a DataFim.Agradeço a todos a atenção.JULIO... é uma coisa relativamente fácil... existem algumas formas... por exemplo, cada data destas tem uma DATA UNIX.. que é um numero único que conta o tempo desde a ativação do UNIX... você converte para ela, compara e desconverte... outra idéia... você pode tratar a data como string, desmonta-la em partes e fazer uma cadeia de IFs comparando dia, mes e ano, alias é esta forma que seu cerebro processa a informação de data, e não é dificil de fazer... atençao que a forma 00/00/0000 tem seus detalhes dúbios... melhor se você escevesse DD/MM/AAAA ... em MYSQL, campos DATE guardam a informação no formato AAAA-MM-DD... portanto precisa ser desmontado e comparado levando isto em conta... o código você escreve, consultando o PHP.NET no manual de referencia... e manda para a gente dar pitaco!... alias, lá você encontra alguns exemplos, quem sabe até do jeito que você quer... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Julio Santos Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 Beleza gente.Obrigado pelas dicas.Abraços e até +. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Julio Santos Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 Segue o que eu fiz...<? $data1='03/02/2008'; $data2='02/02/2008'; $datainicio=ereg_replace('/','',$data1); $datafinal=ereg_replace('/','',$data2); if($datainicio<$datafinal){ echo"<br>$datainicio é menor que $datafinal"; }else{ echo"<br>$datainicio é maior que $datafinal"; } ?>Essas datas eu pego de um banco Microsoft SQL Server...elas ficam armazenadas nesse formato mesmo.Dá pra melhorar isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 A sua comparação está equivocada... experimente trocar 03/02/2008 por 03/01/2008, você vai ver que ele vai dizer que 03/01 é maior que 02/02... o motivo é simples, ele não está comparando datas, e sim os números, para você fazer uma comparação real entre datas ou você transforma tudo em timestamp unix (como foi dito acima), ou você deixa no formato aaaammdd, ou seja 03/02/2008 passaria para 20080203, ai sim a comparação vai dar certo, para fazer essa mudança use algum dos exemplos daqui. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Julio Santos Postado Fevereiro 8, 2008 Denunciar Share Postado Fevereiro 8, 2008 Certo ESerra. Realmente estava equivocado mesmo.Mas agora deu certo. Obrigado pela sua ajuda e pela ajuda de rutger2007 e Deividy.Abraços e até + Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Julio Santos
Olá a todos.
Estou precisando fazer comparação de datas armazenadas no banco de dados.
O Formato da data é 00/00/0000.
Nos campos DataInicio e DataFim eu pego o registro...mas não sei como fazer o script saber se a DataInicio é maior que a DataFim.
Agradeço a todos a atenção.
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.