Gravar ou exibir datas em português com o PHP
No post anterior sobre data eu mostrei como salvar uma data, mas daquela maneira ela fica em ingles, isso fica visivel se usar o F ou o D que exibem o nome do mês.
Mas existe uma maneira de gravar as datas em pt-br para isso se usa o comando strftime ele permite formatar a data de acordo com as configurações locais.
Para definir o local do onde você está se usa o setlocale
[cod=''php"]setlocale(LC_ALL, “pt_BR”, “ptb”); //selecionar o local parapt-br[/code]
após ter definido o local que estamos, podemos usar o strftime, o seu uso é simples:
[cod=''php"] $formato = ‘%d-%B-%Y %H:%M:%S’;
$horario = strftime($formato);
echo $horario; [/code] ]
as formatações aceitas são:
- %a - dia da semana abreviado de acordo com a localidade
- %A - nome da semana completo de acordo com a localidade
- %b - nome do mês abreviado de acordo com a localidade
- %B - nome do mês completo de acordo com a localidade
- %c - representação da data e hora preferida pela a localidade
- %C - número do século (o ano dividido por 100 e truncado para um inteiro, de 00 até 99)
- %d - dia do mês como um número decimal (de 01 até 31)
- %D - mesmo que %m/%d/%y
- %e - dia do mês como um número decimal, um simples dígito é precedido por espaço (de ‘ 1′ até ‘31′)
- %g - como %G, mas sem o século.
- %G - o 4-dígito do ano correspodendo as ISO week number (see %V). Este tem o mesmo formato e valor que %Y, exceto que se o ISO week number pertence ao prévio ou próximo ano, aquele ano é usado ao invés deste.
- %h - mesmo que %b
- %H - hora como um número decimal usando um relógio de 24-horas (de 00 até 23)
- %I - hora como um número decimal usando um relógio de 12-hoas (de 01 até 12)
- %j - dia do ano como número decimal (de 001 até 366)
- %m - mês como número decimal (de 01 até 12)
- %M - minuto como número decimal
- %n - caracter novalinha
- %p - um dos dois `am’ ou `pm’ de acordo com o valor da hora dada, ou as strings correspondentes para a localidade
- %r - hora em a.m. e p.m. notação
- %R - hora em notação de 24 horas
- %S - segundo como um número decimal
- %t - caracter tab
- %T - hora corrente, igual a %H:%M:%S
- %u - dia da semana como número decimal [1,7], com 1 representando Segunda-feira
Uma outra maneira de formatar a exibição da data é usando o substr, e também pode ser util para para ler a data salva e exibi-la em partes, isso pode ser usado para exibir ela em uma imagem(em um calendario como é aqui no site). Ex:
[cod=''php"]$data = ‘2010-08-28′;
$dia = substr($data, 8, 2);// 8 é o numero do primeiro caracter e ser lido e 2 é o numero de caracteres a ser mostrado
$mes = substr($data, 5, 2);
$ano = substr($data, 0, 4);
echo “$dia/$mes/$ano”;[/code]
com essa função, pode se montar um switch para exibir o mês com nome por extenso ex:
switch (substr($data, 5,2)) {
case '01':
echo 'Jan';
break;
case '02':
echo 'Fev';
break;
case '03':
echo 'Mar';
break;
case '04':
echo 'Abr';
break;
case '05':
echo 'Mai';
break;
case '06':
echo 'Jun';
break;
case '07':
echo 'Jul';
break;
case '08':
echo 'Ago';
break;
case '09':
echo 'Set';
break;
case '10':
echo 'Out';
break;
case '11':
echo 'Nov';
break;
case '12':
echo 'Dez';
break;
}
Acho que usar essa segunda maneira é melhor, principalmente se for preciso, fazer busca usando data, mas fica a criterio de cada um escolher a melhor opção =D




(5 votos. Média: 3.4 de 5)Tags: Aprendendo PHP, PHP, PHP Basico
Leia também
O que vocês acham do layout daqui?? »« Coletanea de melhores sites feitos com CSS