Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Paulo Belentani

comparar data atual com data definida

Recommended Posts

gente quero usar apenas php e html

 

quero por exemplo que dentro do if (ja esta pronto) caso a data do proximo mes tenha passado da atual ela esteja em outra cor!

 

exemplo.

data de hoje 01/01/2013

 

data definida: 02/01/2013

 

ele pegaria (sem exibir na tela) a data definida + 30 dias ficando

data definida oculta: 01/02/2013

 

dai o sistema compararia se:

data definida oculta > data de hoje

imprimi data definida em azul

 

data definida oculta < data de hoje

imprimi data definida em vermelho

 

 

no caso seria assim:

o cliente pagou algo de 1 mes.

vai passar o mes todo em azul assim que passar os 30 dias ele vai exibir em vermelho!

ficou complicado explicar!

 

to usando isso

	function SomarData($dias, $expira)
{
        //ex:   expira esta passando como sendo 01/01/2013
	$ano = substr($expira,6,9); //2013
	$mes = substr($expira,2,3); //01 (mes)
	$dia = substr($expira,0,2); //01 (dia)
	$data2 = "$ano$mes/$dia"; // 2013/01/01 pereciso que passe assim pois a data atual esta neste formato
	

   $data = explode("/", $data2);
   $newData = date('Y/m/d', mktime(0, 0, 0, $data[0] , $data[1] , $data[2] + $dias) );
   return $newData;
}
	

    echo 'A data '.$dados['expira'].' depois de somarmos 30 dias ficou '.SomarData(30,$dados['expira']);
dados expira eh a data que tenho quero obter ela +30 dias

 

 

mas o UNICO problema é na hora de definir a data

$newData = date('Y/m/d', mktime(0, 0, 0, $data[0] , $data[1] , $data[2] + 1) );

ele embaralha toda a data

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o strtotime.



Seria mais ou menos assim:

 

 

<?php
$data1 = '2013-11-13';
$data2 = '2013-11-15';

// Comparando as Datas
if(strtotime($data1) > strtotime($data2))
{
echo "<font color=\"red\">Inativo</font>";
}
elseif(strtotime($data1) == strtotime($data2))
{
echo "<font color=\"blue\">Falta 1 dia para sua senha expirar</font>";
}
else
{
echo "<font color=\"green\">Ativo</font>";
}
?>

Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.

Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.

 


Att: João Paulo Sousa Supriano

Compartilhar este post


Link para o post
Compartilhar em outros sites

porem minha data varia todo mes, nao é fixa as vezes eh dia 10 as vezes dia 20. por isso teria que somar 30.

neste seu exemplo ele esta comparando a data do pagamento com a data atual. porem se ele pagou hoje. amanha ja estara vermelho novamente pois HOJE sera maior que ONTEM

 

 

a ideia seria mais facil pegar a data e HOJE e subtrair 30! porem nao consigo!

 

 

cara é só nao indicar a data com BARRAS "/" e sim com TRAÇOS "-"

vlw ai péla atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

cito um exemplo no PHP 5.3

 

$data_cobranca = "15/11/2013";

$dateTimeCobranca = DateTime::createFromFormat('d/m/Y', $data_cobranca);

// no exemplo acima ele vai atribuir a data informada 15/11/2013, porém as horas foram omitidas, estão serão as horas atuais, o que não é o desejado para fazer comparações somente da data (desconsiderando os horários

// alterar a hora, zerando (hora, minuto, segundos)
$dateTimeCobranca->setTime(0,0,0);

// somar 5 dias
$dateTimeCobranca->add(new DateInterval('P5D'));
// P = Periodo, D = dias

// comparar
$dateTimeHoje = new DateTime();
if($dateTimeHoje < $dateTimeCobranca)
{
    echo "A data de hoje é menor";
}

// exibir a data
echo $dateTimeCobranca->format('Y-m-d H:i:s');

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.