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

MySql

Em por

formatando-datas-no-mysql-com-date_format
Formatando datas no MySql com DATE_FORMAT()

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()

Já temos 5 comentário(s). DEIXE O SEU :)
Ricardo Pina

Ricardo Pina

excelente
★★★★★DIA 23.01.24 23h25RESPONDER
N/A
Enviando Comentário Fechar :/
Evander McOliver

Evander McOliver

Ajudou muito...Valew!!!
★★★★☆DIA 21.04.22 17h36RESPONDER
Marcos Martins
Enviando Comentário Fechar :/
Wyll Bern

Wyll Bern

Valeu, mas teria como colocar isso em um insert?
★★★★★DIA 28.02.22 01h02RESPONDER
N/A
Enviando Comentário Fechar :/
Lúcio Messias

Lúcio Messias

Show, me ajudou!
Grato
★★★★★DIA 01.12.21 12h04RESPONDER
Marcos Martins
Enviando Comentário Fechar :/
Mario Augusto

Mario Augusto

Essa instrução SQL da erro no meu DBForge
★★★★★DIA 18.09.19 10h36RESPONDER
ROLA DURA DURONA
Enviando Comentário Fechar :/
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.

Usamos cookies para manter o site seguro, registrar e personalizar sua navegação. Para mais detalhes sobre essa atividade, acesse nossa Politica de Privacidade

Entendi