Diferença de datas em PHP com propriedade Invert.

É possível verificar se ainda faltam dias ou se houve atraso usando o objeto DateInterval retornado pelo método diff().

Você pode usar a propriedade invert do objeto DateInterval para determinar se a diferença entre as datas é positiva (sem atraso) ou negativa (com atraso). Se invert for igual a 0, não houve atraso, e se for igual a 1, houve atraso.

Aqui está um exemplo de como você pode modificar o seu código para verificar se ainda faltam dias ou se houve atraso:

$data1 = new DateTime('2023-05-01');
$data2 = new DateTime('2023-06-01');

$diferenca = $data1->diff($data2);

if ($diferenca->invert == 0) {
    echo "Faltam " . $diferenca->format('%a dias') . " para a data 2.";
} else {
    echo "Já se passaram " . $diferenca->format('%a dias') . " da data 2.";
}

Neste exemplo, se a diferença for positiva ($diferenca->invert == 0), o código exibirá a mensagem “Faltam X dias para a data 2”. Caso contrário, se a diferença for negativa ($diferenca->invert == 1), o código exibirá a mensagem “Já se passaram X dias da data 2”.

Dessa forma, você pode adaptar o código de acordo com a sua necessidade.

Rolar para cima