Ajuda - Busca - Membros - Calendário
Versão Completa: Função que calcula a data de ontem
Fórum Script Brasil > Programação & Desenvolvimento > PHP > Repositório de Scripts - PHP
marlonCampos
Eu procurei durante horas uma função que calculasse a data de ontem e não encontrei.

Revoltado, resolvi criar uma funçõa e sair publicando pela internet.

Se alguém quiser melhorar ou simplesmente usar pode fazê-lo respeitando os direitos autorais.

Também publiquei em meu Blog

CODE
//Função feita por Márlon Campos de Assis - 20/06/2009
//contato marlonmca@hotmail.com || marlonassis@gmail.com
//você está autorizado a usar ou modificar esta função desde que
//repeite os meus direitos autorais e a dos outros que modificarem
//esta função.

   function dataOntem(){
  
     $data = explode("/",date("d/m/Y"));
     //verificando se o ano atual é bissexto
     $bissexto = false;
     if(($data[2] % 4)==0)
       $bissexto = true;
      
     //mes de fevereiro se o ano for bissexto
     if(($data[1] == 3) && (($data[0] - 1)==0) && ($bissexto)){
       return "29/02/".$data[2];
     //mes de fevereiro se o ano não for bissexto
     }
     elseif(($data[1] == 3) && (($data[0] - 1)==0)){
       return "28/02/".$data[2];
     //demais meses
     }
     elseif(($data[0] - 1)==0){
       if(($data[1] - 1) == 0){
         return "31/12/".($data[2] - 1);
       }
       elseif(($data[2]==4)||($data[2]==6)||($data[2]==9)||($data[2]==11)){
         return "30/".($data[1] - 1)."/".$data[2];
       }
       else{
         return "31/".($data[1] - 1)."/".$data[2];
       }
     }else{
       return ($data[0] - 1)."/".$data[1]."/".$data[2];
     }
        
   }
Jonathan Queiroz
Movendo: PHP --> Repositório de Scripts - PHP
marlonCampos
Foi mal. Da próxima vez vou prestar mais atenção.
Beraldo
Conheço um jeito mais fácil:

CODE
echo date( 'd/m/Y', strtotime('- 1 Day') );


wink.gif


Está tudo escrito no Manual:
http://www.php.net/strtotime
marlonCampos
É uma onda, quando eu preciso não acho, depois que faço uma função enorme aparece uma linha que faz a mesma coisa que 25 linhas.

Valeu pela dica Beraldo.
Beraldo
é sempre bom vasculhar bem o Manual do PHP antes de achar que ele não tem uma função nativa para alguma coisa. wink.gif hehe

Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.