Quem já trabalhou com datas no MySQL sabe que o formato que elas são armazenadas é, algumas vezes, meio inconveniente de se trabalhar. É possível modificar esse formato utilizando de programação (PHP, por exemplo), mas é muito mais simples já trazer a data no formato certo, diretamente do banco.
O banco de dados retorna uma data no seguinte formato: 2010-03-18 00:55;23 ou talvez nesse: 2010-03-18 (sem as horas). Como podemos fazer para que ele já traga no formato desejado, por exemplo: 18/03/2010?
É 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ê quizer.
Exemplo 1:
SELECT *,date_format(`data`,'%d/%m/%Y') as `data_formatada` FROM `pessoas`
Nesse caso, ele pegou a data contida no campo data, converteu para formato DD/MM/YYYY e nomeou o campo com a data formatada para data_formatada.
Exemplo 2:
SELECT *,date_format(`data`,'%d-%m às %Hh%i') as `data_formatada` FROM `pessoas`
No segundo exemplo o formato mudou para DD-MM às HHhMM, Exemplo: 25/06 às 14h35.
Cada ítem 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
Últimos comentários