Ir para conteúdo
lbitte

IF com data

Recommended Posts

Boa noite Imasters

Bom, estou fazendo um sistema que compara se uma data é >=(ou <=) a outra e inves de comparar a data toda, ele só compara se o dia é maior... Pensei em algo de transformar a data em X quantidades de dias e fazer a comparação, alguém tem uma solução melhor? segue código abaixo

 

<table border="2" width="29%">
	<tr>
		<td>
		<p align="center"><font color="#0000FF" size="3"><b>Status da manutencao do(a) <?php echo $linha['veiculo'] ?> <?php echo $linha['placa'] ?></td>

<td class="<?php echo ($linha['km_ult_revisao']+10000<=$linha['km'])? 'red2Class': 'green2Class'?>" > <?=KM?>

		<td class="<?php echo date('d/m/Y', strtotime('+6 months', strtotime($linha['data_ult_revisao'])))<=date("d/m/Y")? 'red2Class': 'green2Class'?>" > <?=DATA?>
	

		
</table>

repare que na penúltima linha eu comparo a data da variavel $linha['data_ult_revisao'] + 6 meses se é < ou = a data atual... ai ele só compara se o dia é maior ou igual, quero que ele compare a data por completo

 

@edit

encontrei o error, tem um "strtotime" a mais na linha, é só remover o "strtotime" antes da variavel $linha['data_ult_revisao']

Obrigado! vou deixar o tópico caso alguem tenha o mesmo problema

Editado por lbitte
encontrei a solucao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a classe nativa DateTime...

$now = new DateTime();
$date2 = new DateTime( date('2017-03-02 22:00:00') );

$diff = $now->diff( $date2 );

echo "Diferença de dias: {$diff->d}";

if( $now > $date2 )
	echo 'Data de \'$date2\' menor que agora';
else
	echo 'Data de \'$date2\' maior que agora';

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por nohime
      Como resolver essas três tarefas sobre Comandos de Decisão IF do C#?
      2. Receber um número e verificar se ele esta na faixa de 0 à 9. Se sim, mostre uma mensagem afirmativa, caso contrário mostre uma mensagem indicando que o número não se encontra na faixa.
      6. Receber dois números e os apresente em ordem crescente. Utilize apenas a estrutura de decisão if, ou seja, sem o opcional else.
      9. Receber um ano e se este ano for bissexto exibir na tela “Ano Bissexto”, senão exibir na tela “Ano Não-Bissexto”. Um ano é bissexto se for divisível por 4, mas não por 100. Um ano também é bissexto se for divisível por 400.
    • Por Jefferson andre
      Ola, estou criando um contador de acessos diario mas nao funciona, a tabela tem o campo data no formato date e o campo contador int(10)
       
      A ideia eh verificar a data e se nao existir incluir na tabela, se existir adicionar ao contador
       
      Parece que o erro esta no formato da data, nem manualmente consigo incluir na tabela via localhost ou na hospedagem da google
       
      Agradeço qualquer ajuda
       
      <?php // fazendo uma conexão com o banco de dados include("conexao.php"); // grava a data atual em uma variavel date_default_timezone_set('America/Sao_Paulo'); $date = date('d-m-Y'); //$sql = "SELECT codigo FROM contador"; $resultado = $arquivo->query("SELECT data,contador FROM contador_diario WHERE data = '$date'"); if (mysqli_num_rows($resultado)== true){ // registro ja existe } else { // resultado nao encontrado entao inserir $sql = "INSERT INTO contador_diario ('data', 'contador') VALUES ('$date', '1')"; if ($arquivo->query($sql) == TRUE) { echo "Data cadastrada com sucesso"; } else { echo "Erro: " . $sql . "<br>" . $arquivo->error; } } // refaz a pesquisa para registrar o contador $resultado = $arquivo->query("SELECT data,contador FROM contador_diario WHERE data = '$date'"); // igualar a array a uma variavel $linha=mysqli_fetch_array($resultado); $cod_2 = $linha["contador"]+1; // lista a variavel //echo "<font face='Arial'><span class='style14'>$cod_2</span></font>"; $sql = "UPDATE contador_diario SET contador=$cod_2"; if ($arquivo->query($sql) === TRUE) { // echo "Alteração efetuada com sucesso"; } else { // echo "Erro alterando o contador de visitas diario" . mysqli_error($arquivo); } // fecha a conexao mysqli_close($arquivo); ?>  
    • Por AlexandreHenrique
      Olá 
      tenho uma função JS para mudar valor de atributos de uma imagem.
      A imagem é essa:
      <img src="capa.jpg"  data-desc="2018 - Aventura" alt="titulo do filme" onclick="teste(this,2);" id="video" />  A função:
      function teste(arg,p){ var pos = p; document.getElementById('video').src="novacapa.jpg"; // muda src document.getElementById('video').alt="Titulo do novo video"; // muda alt     document.getElementById('video').attr('data-desc', 'valor a atribuir'); // ??? } A função muda o "src" e "alt" mas não consigo mudar o valor do atributo 'data-desc", como faço isso?
      Essa é a linha em questão: 
      document.getElementById('video').attr('data-desc', 'valor a atribuir'); 
       
       
    • Por gei
      Boa noite.
      Tenho um display que deverá exibir produtividade de alguns setores por dia, Mês, e retornar o percentual de meta de acordo com os valores dos dias, semanas e meses.
      O total diário está tranquilo mas, como retornar o total  semanal, mensal e percentual alcançado?
      Estou há mais de uma semana tentando resolver.
      Estou usando o SQLSERVER 2017.
      Se alguém puder ajudar agradeço.
       
      SELECT REGISTRO_ATENDIMENTO_INTERNO_PSP.UsuarioInsert, DEPARTAMENTOS.NomeDepartamento,
      COUNT(REGISTRO_ATENDIMENTO_INTERNO_PSP.DataAtendimento) AS "Total Diário", COUNT(REGISTRO_ATENDIMENTO_INTERNO_PSP.DataAtendimento) AS "Total Semanal", COUNT(REGISTRO_ATENDIMENTO_INTERNO_PSP.DataAtendimento) AS "Total Mensal" FROM REGISTRO_ATENDIMENTO_INTERNO_PSP  INNER JOIN DEPARTAMENTOS  ON REGISTRO_ATENDIMENTO_INTERNO_PSP.IdDepartamento=DEPARTAMENTOS.IdDepartamento INNER JOIN COLABORADOR ON REGISTRO_ATENDIMENTO_INTERNO_PSP.IdFunc=COLABORADOR.IdFunc where convert(char(10),DataAtendimento,103) = convert(char(10),getdate(),103) GROUP BY REGISTRO_ATENDIMENTO_INTERNO_PSP.UsuarioInsert, DEPARTAMENTOS.NomeDepartamento 
×

Informação importante

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