Ir para conteúdo
Fórum Script Brasil
  • 0

Comparação De Datas


alexandremanowar

Pergunta

E aí galera

como eu faço para fazer uma condição que analise duas datas que estão na variável $v1 e $v2, a condição tem que informar se a data na $v2 é superior a data da $v1. Se fou superior ele da a MSN "data atualizada" caso contrário ele da a MSN "data ultrapassada";

As datas estão em formato americano assim:

$v1 = "2006-08/31";

$v2 = date("Y-m-d");

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Ea e cara beleza!

Cara eu estou olhando aqui seu código mas não estou entendendo.

e esta dando erro nessa linha ( $a1 > $a11 ? echo "a1 Maior"; : echo "a1 Menor"; )

Você poderia me explicar? Preciso entender

Valeu pela força

Link para o comentário
Compartilhar em outros sites

  • 0

cara vou fazer algumas adaptações ao codigo acima para você entender

$num = "2030-08-25"; //data a ser analisada
$arr = explode('-',$num); //data a ser analisada desmembrada

$num2 = date("Y-m-d"); //data de hoje
$arr2 = explode('-',$num2); //data de hoje desmembrada


$ano = $arr[0]; //ano data analisada
$mês = $arr[1]; // mês data analisada
$dia = $arr[2]; // dia data analisada

$anohj = $arr2[0]; //ano hoje
$meshj = $arr2[1]; // mês hoje
$diahj = $arr2[2]; // dia hoje

if ($ano > $anohj) {
 echo "ano digitado Maior";
 } else {
 echo "ano hoje Maior"; 
 }

este if do final é só pra você ter uma noção de como deve fazer o resto em relação a dia e mês.... sem esquecer que existe ano maior, mês menor e dia igual ex: (2007-02-05) e esta data é maior.....

falou...

Link para o comentário
Compartilhar em outros sites

  • 0

cara no if você pod usar assim para saber se a data é maior ou menor

<? 
$num = "2006-09-06";
$arr = explode('-',$num);

$num2 = date("Y-m-d");
$arr2 = explode('-',$num2);


$ano = $arr[0];
$mês = $arr[1];
$dia = $arr[2];

$anohj = $arr2[0];
$meshj = $arr2[1];
$diahj = $arr2[2];

if ($ano > $anohj && $mês > $meshj && $dia > $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês > $meshj && $dia == $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês > $meshj && $dia < $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês == $meshj && $dia > $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês == $meshj && $dia == $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês == $meshj && $dia < $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês < $meshj && $dia > $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês < $meshj && $dia == $diahj) {
 echo "data digitada Maior";
} elseif ($ano > $anohj && $mês < $meshj && $dia < $diahj) {
 echo "data digitada Maior";
} elseif ($ano == $anohj && $mês > $meshj && $dia > $diahj) {
 echo "data digitada Maior";
} elseif ($ano == $anohj && $mês > $meshj && $dia == $diahj) {
 echo "data digitada Maior";
} elseif ($ano == $anohj && $mês > $meshj && $dia < $diahj) {
 echo "data digitada Maior";
} elseif ($ano == $anohj && $mês == $meshj && $dia > $diahj) {
 echo "data digitada Maior";
} elseif ($ano == $anohj && $mês == $meshj && $dia == $diahj) {
 echo "data digitada igual";
} elseif ($ano == $anohj && $mês == $meshj && $dia < $diahj) {
 echo "data digitada Menor";
} elseif ($ano == $anohj && $mês < $meshj && $dia > $diahj) {
 echo "data digitada Menor";
} elseif ($ano == $anohj && $mês < $meshj && $dia == $diahj) {
 echo "data digitada Menor";
} elseif ($ano == $anohj && $mês < $meshj && $dia < $diahj) {
 echo "data digitada Menor"; 
} elseif ($ano < $anohj && $mês > $meshj && $dia > $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês > $meshj && $dia == $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês > $meshj && $dia < $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês == $meshj && $dia > $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês == $meshj && $dia == $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês == $meshj && $dia < $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês < $meshj && $dia > $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês < $meshj && $dia == $diahj) {
 echo "data digitada Menor";
} elseif ($ano < $anohj && $mês < $meshj && $dia < $diahj) {
 echo "data digitada Menor";
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade, o formato americano é "MM-DD-YYYY".

Poxa guilffernet, esse seu método é de longe o pior possível, pra que toda essa complicação?

<?php

$data_atual = time(); // pega o timestamp atual

$data = "2006-30-03" // data formato ANO-mês-DIA
$data=explode("-",$data); //divide a data em partes:
// $data[0] = ano
//$data[1] = mês
//$data[2] = dia


$data2= mktime(0,0,0, $data[1], $data[2], $data[0]);  //converte a data para o mesmo formato do time()

if($data_atual > $data2)
     // data antiga
else
    // data nova

?>

Mais informações sobre essas funções que eu usei, procure no manual ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Pode parecer nada a ver, mas eu montei um esqueminha pra não ter que digitar arr[0], arr [1], etc, porque afinal nem sempre você sabe quantos tem e quantos arr pode ter.

É uma rotininha besta, mas como eu estou trabalhando em um sistema pra uma empresa que tem peças que servem em múltiplas máquinas (eu precisava gravar isso de forma simples), aqui vai a minha gratidão pela ajuda!

Basicamente este esquema explode uma variável e depois junta tudo de novo.

<?php

$i=0;

$arr = explode('-','ct-wada-abra-cabra-da-');

while (!empty($arr[$i]))

{

if(!empty($arr[$i]))

{

$variavel="<input type=\"checkbox\" name=\"model$i\" value=\"";

echo "$variavel".$arr[$i]."\" checked>".$arr[$i]."<br>";

$i++;

}

}

?>

<input type="submit" name="submit" value="testar!" /><br />

<?php

$modelos = "";

if (!empty($task))

{

$i=0;

$modelnum="model"."$i";

while(!empty($$modelnum))

{

$modelos=$$modelnum."-".$modelos;

$i++;

$modelnum="model".$i;

}

echo "<br><br>".$modelos;

echo "<br><br>";

//Re-explodir

$i=0;

$arr = explode('-',$modelos);

while (!empty($arr[$i]))

{

if(!empty($arr[$i]))

{

$variavel="<input type=\"checkbox\" name=\"model$i\" value=\"";

echo "$variavel".$arr[$i]."\" checked>".$arr[$i]."<br>";

$i++;

}

}

//

}

?>

</form>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...