Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal ,
tenho duas data ,
ex:
10/05/2010
e
20/05/2010
Quer fazer uma soma que mostre quantos dia foi percorrido da data inicial e para a final que e 20/05/2010 , aguem poderia me ajuda ??
ficarei muito grato
abraços
Valeu , vou testar aqui .
Manda o resultado aí depois... :D
Deu não amigo ,
fiz assim ,
function subtracao_datas($data_min, $data_max){
$sub1 = strtotime($data_min);
$sub2 = strtotime($data_max);
$dias = ($sub1-$sub2)/86400;
return $dias;
}
$dias2 = subtracao_datas('10/05/2010', '20/05/2010');
echo $dias2;
deu 14887.125
Isso de fato é estranho, comigo se eu fizer um echo da um valor cabuloso também, mas tente fazer a validação dos valores, porque comigo também da um numero absurdo, porém a validação da data funciona.
beleza , valeu
Aguem tem outra idéia ??
>
Isso de fato é estranho,
Não, isso não é estranho, na verdade, é exatamente o esperado, afinal:
>
strtotime — Parse about any English textual datetime description into a Unix timestamp
Como pode ver, strtotime() espera uma data no padrão inglês.
Use strptime():
<?php
function diffDate( $initial , $final ){
$inid = strptime( $initial , '%d/%m/%Y' );
$find = strptime( $final , '%d/%m/%Y' );
$iuts = mktime( 0 , 0 , 0 , $inid[ 'tm_mon' ] + 1 , $inid[ 'tm_mday' ] , $inid[ 'tm_year' ] + 1900 );
$futs = mktime( 0 , 0 , 0 , $find[ 'tm_mon' ] + 1 , $find[ 'tm_mday' ] , $find[ 'tm_year' ] + 1900 );
return ( $futs - $iuts ) / 86400;
}
echo diffDate( '10/05/2010' , '20/05/2010' );
Saída:
>
10
Se estiver trabalhando com PHP 5.3, prefira DateTime::diff()
ok , valeu ae joao ,
agora deu troquei de php ,
Se você quiser uma diferença entre a data inicial e finall eu utilizo essa função:
E para utilizar ela no código eu faço assim...$dias = subtracao_datas($data_menor, $data_maior);
Ai apartir dessa variavel $dias você faz a validação sendo $data_menor a data menor e $data_maior a maior