Artigo: Formatando datas no MySql com DATE_FORMAT() - Gigasystems

MySql

Em por

No artigo de hoje, mostrarei a vocês mais uma artimanha de se trabalhar com datas em banco de dados, na qual utilizamos uma função do próprio MySql para convertemos a data da maneira que quisermos para exibi-las ao usuário chamada DATE_FORMAT().

Formatando datas no MySql com DATE_FORMAT()

DATE_FORMAT()

Trabalhar com datas é sempre um trabalho trivial a se realizar, pois quase sempre elas nos trazem problemas na hora de manipula-las ou exibi-las. Existem muitas formas de se fazer esse trabalho de exibi-la corretamente, umas delas e talvez mais conhecida, é pelo próprio php na qual usamos a função explode transformando a data em um array e depois remontando a data pelos índices.

Mas hoje, em termos de manipular a data somente para exibi-la, vamos aprender um método muito mais fácil em minha opinião, onde na própria consulta SQL definimos a forma como queremos exibir a data já no SELECT usando o DATE_FORMAT ().

Quando fazemos uma consulta ao banco de dados, ele retorna uma data no seguinte formato, 2015-03-20 00:20:23 ou talvez nesse, 2015-03-20 (sem as horas).

Ai você se pergunta, como podemos fazer para que ele já traga no formato desejado, por exemplo, 20/03/2015?

É bem simples. Na hora de fazer o SELECT, utilizamos a função DATE_FORMAT() do MySQL, ela pega a data no formato original e manipula da forma que você quiser.

Exemplo 1:

SELECT * DATE_FORMAT (`data`,'%d/%m/%Y') AS `data_formatada` FROM `pedidos`

Nesse caso, ele pegou a data contida no campo data, converteu para formato DD/MM/YYYY e renomeou o campo que formatamos a data para data_formatada.

Exemplo 2:

SELECT * DATE_FORMAT (`data`,'%d-%m às %Hh%i') AS `data_formatada` FROM `pedidos`

No segundo exemplo, o formato mudou para DD-MM às HHhMM, Exemplo: 20/03 às 09h35.

Cada item da data tem um identificador, veja abaixo a lista deles:

ID     Descrição
%a     Nome da Semana Abreviado (Seg a Dom)
%b     Nome do mês Abreviado (Jan a Dez)
%c     Mês de forma numérica (1 a 12)
%D     Dia do mês com o sufixo Inglês (1st, 2nd, 3rd, …)
%d     Dia do Mês de forma numérica (01 a 31)
%e     Dia do Mês de forma numérica (1 a 31)
%f     Micro segundos (000000..999999)
%H     Horas (00 a 23)
%h     Horas (01 a 12)
%I     Horas (01 a 12)
%i     Minutos de forma numérica (00 a 59)
%j     Dia do Ano (001 a 366)
%k     Horas (0 a 23)
%l     Horas (1 a 12)
%M     Nome do mês (Janeiro a Dezembro)
%m     Mês de forma numérica (01 a 12)
%p     AM ou PM
%r     Horas, 12-horas (hh:mm:ss seguidos de AM ou PM)
%S     Segundos (00 a 59)
%s     Segundos (00 a 59)
%T     Horas, 24-horas (hh:mm:ss)
%U     Semana (00 a 53), onde Domingo é o primeiro dia da semana
%u     Semana (00 a 53), onde Segunda é o primeiro dia da semana
%V     Semana (00 a 53), onde Domingo é o primeiro dia da semana; usado com %X
%v     Semana (00 a 53), onde Segunda é o primeiro dia da semana; usado com %x
%W     Nome do dia da semana (Segunda a Domingo)
%w     Dia da semana (0=Domingo a 6=Sábado)
%X     Dia da semana onde Domingo é o primeiro dia da semana, de forma numérica com 4 dígitos, usado com %V
%x     Ano da semana, onde Segunda é o primeiro dia da semana, de forma numérica, com 4 dígitos, usado com %v
%Y     Ano numérico com 4 dígitos
%y     Ano numérico com 2 dígitos
%%     Um simples caracter “%”
%x     x, para qualquer “x” não listado acima

Dúvidas criticas ou sugestões comentem abaixo que teremos o prazer em tentar ajuda-los. =)

Olá, deixe seu comentário para Formatando datas no MySql com DATE_FORMAT()

Enviando Comentário Fechar :/

Veja Também:

Artigos Relacionados a categoria: MySql

Soluções

...CURTIU? AINDA NÃO VIU NOSSO PORTFÓLIO?


Se ainda não viu nosso Portfólio e quer conhecer um pouco mais... aproveite, veja agora mesmo nossos Cases de Sucesso e tenha seu site nos padrões atuais preparado para maioria dos dispositivos e navegadores.