Seguidamente nos deparamos com a necessidade de calcular a diferença entre duas datas no PHP. Em vários sites encontramos receitas gigantes de como realizar essa operação. A partir do PHP 5.3 temos o método diff() da classe DateTime. A classe DateTime é uma classe nativa do PHP cujo objetivo é a manipulação e também a formatação de datas. Ela possui vários métodos e um deles é o diff().

Nesse exemplo, declaramos duas datas ($data1 e $data2). As duas datas são objetos construidos com a classe DateTime (php.net/manual/en/class.datetime.php). A classe DateTime possui o método diff() que compara dois objetos DateTime. Como resultado, ela retorna um objetos do tipo DateInterval (www.php.net/manual/en/class.dateinterval.php). Um dos métodos disponibilizados pela classe DateInterval é o método format(), que formata o objeto intervalo conforme uma máscara. Nesse exemplo, nossa máscara exibe a quantidade de anos, meses e dias da diferença.

  1. <?php
  2. // primeira data
  3. $data1 = new DateTime('2011-11-15');
  4. // segunda data
  5. $data2 = new DateTime('2002-01-01');
  6. // diferença (objeto DateInterval)
  7. $diferenca $data1->diff($data2);
  8. // resultado 
  9. echo $diferenca->format('%y anos, %m meses e %d dias');
  10. ?>



Comentários

 


Você precisa realizar login pelo Facebook para enviar posts, comentários, apagar posts ou baixar posts em PDF. Para isso, clique no botão "Login no facebook".



Receba os posts por email: (?)

Conheça o Adianti Framework para PHP:

  • Desenvolvimento com componentes;
  • Formulários e datagrids.
  • Versão Web e Desktop (Gtk);
  • Multiplataforma;
  • Desenhe as interfaces;
  • IDE própria (Adianti Studio).
Ver detalhes...

Tenha mais produtividade com:

Adianti Studio: IDE para PHP

  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...