edgard 0 Denunciar post Postado Junho 11, 2008 oi Gente... teria como alguem me ajudar a elaborar uma comparação com datas eu to retornando do banco uma data, mas ela é varchar entao ela retorna 10/01/2006 por exemplo... eu quero compara-la com o dia atual alguem sabe como resolver, to pesquisando na internet e to com duvidas !!! Abraços eu vi esse endereço aqui, mas eu nao entendi http://www.php5.com.br/?php=_faq/mostra&id_cat=30 Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 11, 2008 if( date("d/m/Y") == "10/01/2006" ) Assim? :huh: Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 if( date("d/m/Y") == "10/01/2006" ) Assim? :huh: não funcionou nao eu fiz uma parada assim tambem só que nao funcionou tambem, quando eu vou ver o que ocorre nas variaveis, existe uma mudança de valores la dentro $data_hoje = date("Y/m/d"); // Caso a data esteja como string utiliza o srttotime $data_venc = date("Y/m/d",strtotime($dtVencto)); if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 Como assim não funcionou ? <?php if(date('d/m/Y') > ('10/01/2006')){ echo 'é menor'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 if( date("d/m/Y") == "10/01/2006" ) Assim? :huh: não funcionou nao eu fiz uma parada assim tambem só que nao funcionou tambem, quando eu vou ver o que ocorre nas variaveis, existe uma mudança de valores la dentro $data_hoje = date("Y/m/d"); // Caso a data esteja como string utiliza o srttotime $data_venc = date("Y/m/d",strtotime($dtVencto)); if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } cara, eu dei uma altera no código para pegar do jeito certo e fiz assim abaixo: $data_venc = substr($dtVencto,6,4).'/'.substr($dtVencto,3,2).'/'.substr($dtVencto,0,2); funcionou, só espero que esteja profissional, esta gente ? gostaria da opinião de vocês, pelo menos nesse trecho, devido ao fato deste processo todo ter sido feito por outro amigo... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 Mais no teu caso você apenas converteu para o formato brasileiro a $data_venc e a $data_hoje = date("Y/m/d"); você deixou no formato contrário, com isso as comparações não irão funcionar... Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 Como assim não funcionou ? <?php if(date('d/m/Y') > ('10/01/2006')){ echo 'é menor'; } ?> esse seu '10/01/2006' seria a minha variavel que pego do banco certo ?!!! quando eu rodo, ele hora faz e hora nao... eu estou dentro de um loop e mesmo nas datas que deveria estar no prazo ele diz que nao esta achei estranho, por isso pensei em fazer o que fiz nos exemplos que te mostrei, mas ai rolou o problema dos numeros ficarem malucos la dentro da variavel, ai eu fiz aquele esquema substr e ai funcionou... e agora? fiquei sem entender nada !!! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 cara, eu dei uma altera no código para pegar do jeito certo e fiz assim abaixo: $data_venc = substr($dtVencto,6,4).'/'.substr($dtVencto,3,2).'/'.substr($dtVencto,0,2); funcionou, só espero que esteja profissional, esta gente ? gostaria da opinião de vocês, pelo menos nesse trecho, devido ao fato deste processo todo ter sido feito por outro amigo... que isso ??? pare com gambiarras, teu código tava correto, basta fazer a alteração que falei veja: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $dtVencto='2008-06-11'; $data_venc = date("Y/m/d",strtotime($dtVencto)); if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 Mais no teu caso você apenas converteu para o formato brasileiro a $data_venc e a $data_hoje = date("Y/m/d"); você deixou no formato contrário, com isso as comparações não irão funcionar... eu nao deixei no formato brasileiro... eu peguei o ano depois o mes e depois o dia... da uma olhadinha 01/02/2008 $data_venc = substr($dtVencto,6,4).'/'.substr($dtVencto,3,2).'/'.substr($dtVencto,0,2); 2008/02/01 Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 cara, eu dei uma altera no código para pegar do jeito certo e fiz assim abaixo: $data_venc = substr($dtVencto,6,4).'/'.substr($dtVencto,3,2).'/'.substr($dtVencto,0,2); funcionou, só espero que esteja profissional, esta gente ? gostaria da opinião de vocês, pelo menos nesse trecho, devido ao fato deste processo todo ter sido feito por outro amigo... que isso ??? pare com gambiarras, teu código tava correto, basta fazer a alteração que falei veja: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $dtVencto='2008-06-11'; $data_venc = date("Y/m/d",strtotime($dtVencto)); if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> vou testar entao amigao !!! Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 cara, eu dei uma altera no código para pegar do jeito certo e fiz assim abaixo: $data_venc = substr($dtVencto,6,4).'/'.substr($dtVencto,3,2).'/'.substr($dtVencto,0,2); funcionou, só espero que esteja profissional, esta gente ? gostaria da opinião de vocês, pelo menos nesse trecho, devido ao fato deste processo todo ter sido feito por outro amigo... que isso ??? pare com gambiarras, teu código tava correto, basta fazer a alteração que falei veja: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $dtVencto='2008-06-11'; $data_venc = date("Y/m/d",strtotime($dtVencto)); if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> vou testar entao amigao !!! ja sei o que ta ocorrendo, nesse momento $dtVencto='2008-06-11' é que esse valor pra mim que vem do banco vem assim > '11/06/2008', entao eu acho que nesse momento eu tenho que fazer ele ficar do jeito que você disse '2008-06-11' não é isso ? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 11, 2008 Qual o valor de $dtVencto e qual o tipo de comparação você quer fazer? 'Maior que' e 'menor que' naturalmente não funcionam porque a data está como tipo string e no formato brasileiro. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 Não não precisa... pode jogar a variável direto então... Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 Qual o valor de $dtVencto e qual o tipo de comparação você quer fazer? 'Maior que' e 'menor que' naturalmente não funcionam devido à esta data está como tipo string. []'s a data é varchar sim e vem assim do banco pra mim '11/06/2008' Não não precisa... pode jogar a variável direto então... nao entendi... como assim jogar a variavel direto, como ficaria entao o processo, desculpa pela ignorancia viu !!! to ficando confuso cara foi mal !!! Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 11, 2008 Tente: if( date('Y-m-d') > date('Y-m-d', strtotime($dtVencto)) ) { // faça... } Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 já que já está no formato cara, basta tu fazer isso: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $data_venc = $dtVencto; if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 Tente: if( date('Y-m-d') > date('Y-m-d', strtotime($dtVencto)) ) { // faça... } if (date("Y/m/d") <= date("Y/m/d",strtotime($dtVencto))) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } cara, eu fiz assim e nao funcionou nao Compartilhar este post Link para o post Compartilhar em outros sites
edgard 0 Denunciar post Postado Junho 11, 2008 já que já está no formato cara, basta tu fazer isso: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $data_venc = $dtVencto; if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> vou testar isso dai não funcionou !!! que coisa né !!! Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 11, 2008 Hello!!!!!!! Como eu disse, não se compara datas no formato brasileiro! if ( mktime() <= strtotime($dtVencto) ) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } E por favor, não faça um post atrás do outro. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 11, 2008 Vou postar novamente: <?php $data_hoje = date('d/m/Y'); // Caso a data esteja como string utiliza o srttotime $data_venc = '11/06/2008'; if ($data_venc <= $data_hoje) { echo 'não ta dentro do prazo de vencimento'; } else { echo 'ta dentro do prazo de vencimento'; } ?> No lugar da variável $data_venc coloque a variável que vem do banco que já deverá estar no formato 11/06/2008 entendeu ? Compartilhar este post Link para o post Compartilhar em outros sites