Converter formato de data para o formato BR, em uma linha de código só

Vou pedir licença ao Frederico e também palpitar sobre a possibilidade de, em uma linha, converter o formato de data do banco (funciona para o MySQL e outros bancos) para o formato brasileiro em php.

Considerando que <?php $data = "2008-01-09 14:56:06"; ?>:
<?php echo date('d/m/Y H:m:s', strtotime($data)); ?> mostrará 09/01/2008 14:01:06.
<?php echo date('d/m/Y', strtotime($data)); ?> mostrará 09/01/2008.

Simples assim. :-)

Essa solução funciona para datas no formato yyyy-mm-dd hh:mm:ss e yyyy-mm-dd.

Posted quarta-feira, novembro 19th, 2008 under PHP.

18 comments

  1. Matheus disse:

    Muito bom esse código..

    Me ajudou muito!!!

  2. Muito bom!

  3. Que bom que lhes ajudei! :-)

  4. Muito bommm ….

    Me ajudou pacas Rafa!

    abcs

  5. Diogo Ribeiro disse:

    E se eu desejar um formato “Segunda, 25 de setembro de 2009″, mais isso convertendo uma data de um registro do Banco de dados MySQL?

  6. Seria assim :

    Desculpe, estou começando a usar o PHP !!! Ainda estou iniciando na linguagem !

    Obrigado

  7. Muito bom o artigo… mais a minha dúvida é seguinte, em uma tela de consulta o campo data esta vindo 2010-09-07 como faço para vir 07-09-2010 ?

    Obrigado

    • Será:

      <pre class="php" style=""><span style="color: rgb(153, 0, 0);">echo</span> <span style="color: rgb(153, 0, 0);">date</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 0, 255);">'d-m-Y'</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(153, 0, 0);">strtotime</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 0, 136);">$data</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>

      • Certo mais dessa forma ele retorna a data 31-12-1969 que não é a que esta no banco

        • Este retorno está acontecendo por causa da sua versão do php. Neste caso você terá que fazer a conversão através de substring.

          <pre class="php" style=""><span style="color: rgb(153, 0, 0);">echo</span> <span style="color: rgb(153, 0, 0);">substr</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 0, 136);">$data</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">8</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">2</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(51, 153, 51);">.</span> <span style="color: rgb(0, 0, 255);">'-'</span><span style="color: rgb(51, 153, 51);">.</span> <span style="color: rgb(153, 0, 0);">substr</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 0, 136);">$data</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">5</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">2</span><span style="color: rgb(0, 153, 0);">)</span> <span style="color: rgb(51, 153, 51);">.</span> <span style="color: rgb(0, 0, 255);">'-'</span> <span style="color: rgb(51, 153, 51);">.</span> <span style="color: rgb(153, 0, 0);">substr</span><span style="color: rgb(0, 153, 0);">(</span><span style="color: rgb(0, 0, 136);">$data</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">0</span><span style="color: rgb(51, 153, 51);">,</span> <span style="color: rgb(204, 102, 204);">4</span><span style="color: rgb(0, 153, 0);">)</span><span style="color: rgb(51, 153, 51);">;</span></pre>

  8. Olá rafael,

    Sou novo nessa área, e me desculpe a minha ignorância no assunto.

    Tenho um cadastro de familia que tem pelo menos 3 datas (dn_pai, dn_mae, dn_filho1)

    Gostaria de converter todos esses campos. Como posso fazer isso? E onde inserir essa linha de código?

    Grato.

Leave a Reply