Ir para conteúdo

Arquivado

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

MDF web designe

Validar Data

Recommended Posts

Galera boa tarde, alguém pode me ajudar ?

 

Preciso colocar no meu sistema interno uma validação de data tipo...

 

 

Tenho no meu sistema um campo chamado data da ultima alteração, quero fazer com que se a data de da ultima alteração for menor que 6 meses ele exibir uma faixa em vermelho no imovel.

 

 

seria isso ?

 

 

if
ultimo_alteracao <=01/07/2014
else
echo="#red";
Seria assim?

 


quero fazer isso para eu poder ver quais imoveis estao desatualizados e forcar os corretores a atualizar os mesmos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que pegar a data atual subtraída de 6 meses. Pra isso, pode usar strtotime() ou a classe DateTime.

 

Depois basta comparar a data do banco com essa data gerada. Se for menor, mostra o alerta.

 

Lembrando que, para comparar, as datas devem estar em timestamp (para o caso de usar strtotime) ou ambas devem ser instâncias da classe DateTime. Comparar strings (como 'dd/mm/yy' ou mesmo 'yyyy-mm-dd') não vai funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu quero que se for for maior que 6 meses desde a ultima alteração ele exiba uma faixa em vermelho.

Sim. Foi justamente sobre isso que falei no post #2 deste tópico. Leia de novo e tente implementar uma das duas sugestões que dei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí você pegou a data atual e subtraiu 6 meses. Meio caminho andado.

 

Agora você precisa criar uma nova instância de DateTime, com a data do banco. Se a data estiver no formato YYYY-MM-DD, basta passar esse valor no construtor de DateTime. Caso contrário, pode usar o método createFromFormat

 

Depois basta comparar os dois objetos. Veja este tópico http://forum.imasters.com.br/topic/531679-site-expirar-apos-um-ano/

Compartilhar este post


Link para o post
Compartilhar em outros sites

cheguei ate aqui.

Mas é o mesmo trecho que você mostrou no post #7 :unsure:

Veja os dois links que mandei no post #8. Tente fazer.

 

A lógica é esta:

 

1. Criar a data de 6 meses atrás. Isso você já fez (Você chamou de $DateTime. Altere para um nome mais auto explicativo, como $data_antiga ou algo assim)

 

2. Criar a data atual. Para isso, basta $DataAtual = new DateTime;

 

3. Basta comparar as duas variáveis

 

 

Tente fazer. Se não conseguir, mostre até onde chegou e no que teve dúvidas

A intenção do fórum é ajudar, não entregar código pronto. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim você esta certissimo Beraldo...

 

seria isso ?

 

<?php

date_default_timezone_set('Europe/Madrid');

$d1 = new DateTime('1492-01-01');
$d2 = new DateTime('1492-12-31');

var_dump($d1 < $d2);
var_dump($d1 > $d2);
var_dump($d1 == $d2);

?>

Beraldo, seria assim ????

 

 

<?php
$alteracao = date_create('2014-08-01');
$comparacao = date_create('2015-01-01');
$interval = date_diff($alteracao, $comparacao);
echo $interval->format('%R%a days');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cheguei nisso

function date_diff($date1, $date2) { 
    $current = $date1; 
    $datetime2 = date_create($date2); 
    $count = 0; 
    while(date_create($current) < $datetime2){ 
        $current = gmdate("Y-m-d", strtotime("+1 day", strtotime($current))); 
        $count++; 
    } 
    return $count; 
} 

echo (date_diff('2014-8-1', '2015-1-01')." days <br \>"); 

Digamos que eu quero agora que se for maior que 150 dias ele mostre uma linha vermelha no cadastro do imovel como seria ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está reinventando a roda.

Já existe o método diff, que faz isso de forma bem mais eficiente. Está no link que já mandei no post #4: http://rberaldo.com.br/php-usando-a-classe-nativa-datetime/#diff

 

Basta verificar se $diff->d (considere o código do link anterior) é maior que 150. Se for, exibe a mensagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todos os links informados possuem ao menos um exemplo funcional utilizando DateTime e alguns utilizando DateTime::diff. Qual é a sua dificuldade? Tentou reproduzir o que os exemplos estão lhe trazendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

claro, que reproduzi,

 

 

http://himoveis.com/data.php


ate aqui eu cheguei...

 

 

apos isso nao sei.

<?php 
function date_diff($date1, $date2) { 
    $current = $date1; 
    $datetime2 = date_create($date2); 
    $count = 0; 
    while(date_create($current) < $datetime2){ 
        $current = gmdate("Y-m-d", strtotime("+1 day", strtotime($current))); 
        $count++; 
    } 
    return $count; 
} 

echo (date_diff('2014-8-1', '2015-1-01')." days <br \>"); 
?>

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.