Ir para conteúdo

Arquivado

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

Américo Carvalho

DateTime::diff não calcula corretamente período 16/10/2016 a 19/10/201

Recommended Posts

Boa tarde.

Estou com esse problema:

$data_1 = new DateTime('2016-10-16');
$data_2 = new DateTime('2016-10-19');
$interv = $data_1->diff($data_2);
$dias = $interv->d+1;

echo $dias.'';
Retorna 3 quando deveria ser 4.
Se mudo o período, e olha que já fiz vários testes, dá certo.
Alguém já passou por isso?

Desde já agradeço sua atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Horário de verão, por isto dá 3 dias (dois do diff, porque não são dias completos e mais um extra).

Tem que igualar os timezones (se quiser desconsiderar o horário de verão).

    $data_1 = new DateTime('2016-10-16', new DateTimeZone('-03:00'));
    $data_2 = new DateTime('2016-10-19', new DateTimeZone('-03:00'));

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.