Como calcular a diferença entre duas datas com PHP e a função DateDiff()

O problema:

Cliente tem uma data fixa em 07/08/2053 e quer que no sistema sejam mostrados (em todas as telas) quantos dias faltam para a data. O porquê? porque o cliente pagou pela alteração, assim, quer e assim será feito!

Dica para os novos desenvolvedores: Salvo se o pedido for contrário à sua ética e ou às leis, analise o pedido de seu cliente. Avise o impacto no sistema. O preço da alteração e, estando tudo combinado, cumpra o contrato. Não é preciso conhecer todas as razões do cliente.

Mas, no caso, para matar a curiosidade: é a data na qual o cliente pretende que sua empresa valha determinada quantia. E sim, são 31 anos de trabalho planejado!

Date_diff()

<?php
// Ilustração de como funciona a função date_diff() no PHP
  
// A função nativa trabalha somente com datas, então, é preciso converter a string em uma data

$dataLimite = date_create('2053-08-07');

//Em seguida, criamos a data atual
$dataAtual= date('Y-m-d');
$dataAtual=date_create($dataAtual);
  
//Em seguida, o cálculo das diferenças
$intervalo= date_diff($dataAtual, $dataLimite);

//A função retorna um objeto DateInterval, que precisa ser formatado para exibição

echo $intervalo->format('%R%a');
?>
//No sistema, ficou assim (usa um objeto de template) e exibe o número logo após o nome do usuário:
$tela->TPL_NAV_USUARIO=$_SESSION['usuario']['nome'].date_diff(date_create('2053-08-07'), date_create(Date("Y-m-d")))->format('%R%a');

Referências:

PHP: date_diff – Manual;

PHP date_diff() Function (w3schools.com);

PHP | Função date_diff() – Acervo Lima;

PHP: DateInterval – Manual

PHP: DateInterval::format – Manual


Publicado

em

por

Tags:

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *