Pular para o conteúdo
Início » Formatar datas no MySQL com SQL ou PHP

Formatar datas no MySQL com SQL ou PHP

Publicidade - O artigo continua após o banner

Olá a todos. Hoje falaremos sobre um assunto muito simples para uns e ao mesmo tempo um grande vilão para outros. Se trata da formatação das dastas armazenadas em um banco de dados mysql.


Publicidade - O artigo continua após o banner

Muitos desenvolvedores, ao armazenar uma data no banco de dados MySQL, define o campo como VARCHAR e, posteriormente, esse desenvolvedor será prejudicado por não poder utilizar-se das funções que o MySQL oferece para se trabalhar com datas. O motivo? É simples, se ele definiu o campo como VARCHAR o MySQL tratará os dados nesse campo como texto e não data.

Então como fazer o MySQL interpretar os dados de um campo como uma data? Basta definir o tipo do campo como DATEDATETIME ou TIMESTAMP. Esses campos armazenarão as datas nos seguintes formatos: YYYY-MM-DDYYYY-MM-DD HH:MM:SSYYYYMMDDHHMMSS respectivamente. Uma vez que os campos estão definidos corretamente, você se benefica de vários recursos que o MySQL oferece para se trabalhar com o tipo do campo em questão.

Você pode estar se perguntando: se defino o campo na tabela corretamente para armazenar uma data, eu terei problemas na hora de exibí-las já que elas são inseridas no formato padrão americano: ano-mês-dia. Aí, eu lhe respondo. Uma vez que as datas estão armazenadas em um tipo de campo correto. Você poderá fazer o que precisar com elas.

Lhe mostrarei duas formas de exibir suas datas que estão guardadas corretamente em um banco de dados de duas maneiras, observe:

Publicidade - O artigo continua após o banner

Através de instruções SQL
Vou mostrar-lhe como seria escrever essa instrução SQL para o tratamento de datas duas formas: manualmente, ou através das interface do Dreamweaver.

Manualmente você criará sua instrução SQL assim:

SELECT *,date_format(nome_do_campo, ‘%d/%m/%Y’) AS DATA FROM nome_da_tabela

Ou seja, utilizamos o date_format para formatamos a forma como a data será exibida, no exemplo acima ela será exibida no formato padrão brasileiro: dia/mês/ano.

Para mais detalhes e outras funcionalidades, consulte Date and Time Functions no site do MySQL.

Publicidade - O artigo continua após o banner

Através da interface do Dreamweaver

Quando você tiver criando um Recordset, como demonstrado na imagem abaixo:

Ou seja, através da interface simples do painel Recordset, você deverá clicar na opção Advanced… para que desta forma, você possa digitar sua instrução SQL como nesta outra imagem abaixo:

Publicidade - O artigo continua após o banner

Para exibí-la, você prodecerá como de costume. Observe:

<?php echo $row_rsNomeRecordset['data']; ?>

Somente.

Agora, veremos como formatas as datas com o php e não com uma instrução SQL.

Publicidade - O artigo continua após o banner

<?php echo date(‘d/m/Y’, strtotime($row_rsNomeRecordset[‘nome_do_campo’])); ?>

Pronto. Simples não é? Mas vou explicar-lhe. Utilizamos a função date para dizermos ao PHP como exibir a data, no exemplo: dia/mês/ano. E utilizamos o strtotime que faz o seguinte: analisa uma string que contém um formato de data em inglês em um formato dentro do timestamp Unix.

Saiba mais aqui!