Obtendo datas em Português
Prefácio
Já é sabido que programadores tendem a fazer gambiarras na hora de traduzir certos termos de uma aplicação, tais como os dias da semana. Foi durante uma conversa com o meu amigo Xorna que eu percebi que muita gente não sabe obter as datas em português automaticamente. Alterando o local do PHP você pode adquirir as propriedades de determinado país. A função que precisaremos para realizar esta mágica é a setlocale().
Conceito
O código abaixo irá fazer com que as propriedades locais do sistema sejam alteradas para o formato brasileiro.
Em servidores configurados em formato brasileiro, ou seja, que já tem Brazilian Portuguese configurado no locale, apenas a linha 3 poderá ser suficiente.
Em servidores estrangeiros, talvez apenas a linha 4 seja suficiente.
Para deixar o código portável, utilizaremos os dois modos.
Código: Alternar entre o modo de cópia/destaque
<?php ?>
<?php
setlocale(LC_ALL, NULL);
setlocale(LC_ALL, 'pt_BR');
print ucfirst(gmstrftime('%A'));
?>
A função utilizada para puxar os dados da data é a gmstrftime() porque ela leva em consideração o local.
O retorno desta função é o dia da semana, por extenso, em português! :)
LC_ALL é uma constante que indica que as informações locais serão definidas em todas as instâncias. LC_ALL engloba LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC e LC_TIME.
Outras possibilidades com a alteração do local é obter dados monetários. A função localeconv() retorna uma array com as propriedades monetárias da região.
O retorno de
Código: Alternar entre o modo de cópia/destaque
<?php ?>
<?php
print_r(localeconv());
?>
será:
(
[decimal_point] => ,
[thousands_sep] => .
[int_curr_symbol] => BRL
[currency_symbol] => R$
[mon_decimal_point] => ,
[mon_thousands_sep] => .
[positive_sign] =>
[negative_sign] => -
[int_frac_digits] => 2
[frac_digits] => 2
[p_cs_precedes] => 1
[p_sep_by_space] => 1
[n_cs_precedes] => 1
[n_sep_by_space] => 1
[p_sign_posn] => 3
[n_sign_posn] => 3
[grouping] => Array
(
[0] => 3
)
[mon_grouping] => Array
(
[0] => 3
)
)
Conclusão
É possível fazer muitas coisas alterando o local. No Manual do PHP você encontra outras utilizações para estas funções.
Lembrando sempre que é divertido brincar com as funções do PHP! :P
Um grande abraço e uma ótima semana a todos!
Fiquem com Deus!
Rafael Jaques
PHP levado a sério