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:i: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.

34 pensamentos em “Converter formato de data para o formato BR, em uma linha de código só”

  1. 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

        1. 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.

          echo substr($data, 8, 2) . ‘-‘. substr($data, 5, 2) . ‘-‘ . substr($data, 0, 4);

  2. 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.

  3. Uma ótima opção para pegar no banco e exibir a data em formato brasileiro, e funciona perfeitamente…

    abra php

    $sql_select = “SELECT * FROM tabela ORDER BY id DESC LIMIT 1,10”;
    // Executa o Query
    $sql_query = mysql_query($sql_select); // Cria um while para pegar as informações do BD
    while($variavel = mysql_fetch_object($sql_query)):

    feche o php

    abra php echo date(‘d/m/Y’, strtotime($variavel->data)); feche php

    abra php endwhile; feche php

    espero que dessa vez funcione kkkkkk

  4. Só uma correção no post, a conversão de hora, minuto e segundo deve ser h:i:s e não h:m:s, então:

    mostrará 09/01/2008 14:01:06.

    deveria ser:

    mostrará 09/01/2008 14:56:06.

    pois o ‘m’ neste caso é para mês.

    Abraços, valeu muito!

  5. Olá a todos…entrei aqui para agradecer a ajuda que este post me deu…estava com problemas em uma data que eu pegava de um xml criado através de um dataset em delphi, e o bendito vinha no formato americano e sem barras ou traços: 20151122. E não sabia como converter ela para o formato br, daí arrisquei como vc mostrou: date(‘d/m/Y’, strtotime($data)); e deu certo converteu para 22/11/2015 como eu precisava…Obrigado pela ajuda aew pessoal!!!

Deixe uma resposta