Ir para conteúdo

POWERED BY:

Arquivado

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

jorgeN

strtotime calculando errado

Recommended Posts

Saudação à todos

 

Estou postando em PHP, porém este problema é um mixto de PHP e MySQL. Explicando:

Para calcular juros utilizo a diferença de datas pelo comando strtotime. Constatei após muitos testes, que o mês de março/2013 está sendo considerado como 30 dias.

Ex: 2013-01-16 - 2013-04-01 = 75 dias ou seja 15Jan 28Fev 31Mar 01Abr

Já testei de 16 de janeiro 2013 até 01 janeiro 2014 e a diferença é 1 dia.

Será um BUG do MySQL ?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a biblioteca DateTime

$dataInicial = new DateTime('2013-01-16');
$dataFinal = new DateTime('2013-04-01');

$dateInterval = $dataInicial->diff($dataFinal);
echo $dateInterval->format('%a dias');

Saída:

75 dias

 

Código em funcionamento:

http://codepad.viper-7.com/Sg5chL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Gabriel

Não conhecia esta forma de fazer. É mais direta. O strtotime tenho que dividir por 86400 ...

Vou testar esta dentro do programa.

Valeu. Muito obrigado pela dica. Aprendi mais uma.

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.