Ir para conteúdo

POWERED BY:

Arquivado

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

play2010

Qual erro nessa função de data

Recommended Posts

Tenho 1 arquivo cron que chama a função da data que compara data atual com data do banco de dados e verifica se a data do vencimento dos usuarios é mais antiga doque a atual se for muda para pendente a função é essa e não ta funcionando.

 

function data_dif($antes, $hoje) 
    { 
        list($antes_mes, $antes_dia, $antes_ano) = explode("-", $antes); 
        list($hoje_mes, $hoje_dia, $hoje_ano) = explode("-", $hoje);          
        $antes_data = mktime(0,0,0,$antes_mes,$antes_dia,$antes_ano); 
        $hoje_data = mktime(0,0,0,$hoje_mes,$hoje_dia,$hoje_ano);          
        $dias = ($hoje_data - $antes_data)/86400; 
return $dias;
    } 

 

a pagina cron3 chama a função data_dif ta assim:
$vencimento = data_dif($data, $datavenc);

 

####### Se for o dia do vencimento #######


if($vencimento <= 0) { 

 

desta forma não esta funcionando alguem poderia me ajudar a descobrir o erro ou uma forma de mudar para funcionar?

para ajudar no arquivo de log do erro aparece erro na linha 31 que é essa

 

 

30 list($hoje_mes, $hoje_dia, $hoje_ano) = explode("-", $hoje);          
31 $antes_data = mktime(0,0,0,$antes_mes,$antes_dia,$antes_ano);     <<-----

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo de recomendo a dar uma estudada em http://php.net/manual/en/class.datetime.php

 

Baseando no:

 

vencimento dos usuarios é mais antiga doque a atual

 

Seria simples assim.

$hoje = new \DateTime(date('d-m-Y')); $vencimento = new \DateTime(date('d-m-Y', strtotime('-1 week')));// crio uma da na semana passada // data gravada é menor que atual.var_dump($vencimento <  $hoje); // TRUE var_dump($vencimento === $hoje); // FALSE

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.