[Dicas-L] Mudando o formato da data do sistema
Mudando o formato da data do sistema
Colaboração: Alexandre Heitor Schmidt
Data de Publicação: 23 de Outubro de 2008
Esta dica é para quem quer ir além de simplesmente configurar o formato da data e da hora do seu Thunderbird...
Recentemente me deparei com um comportamento estranho no Thunderbird: as datas das mensagens alternavam dia e mês. Ora 11/10 significava "onze de outubro", ora "dez de novembro". A ordenação por data não funcionava direito. Achei um tanto estranho e resolvi pesquisar o que controla o formato da data e da hora no Thunderbird.
Achei algo sobre forma de exibição da dada no user.js do diretório de configuração, mas só mudava algumas configurações dentro de um mesmo formato de exibição... Não era o que eu queria.
Acabei descobrindo (se bem que é meio óbvio, pois a Mozilla não abriria mão de se apoiar em algum padrão) que ele utiliza a configuração do sistema para esta informação e, através do script a seguir (retirado e ligeiramente adaptado de "http://www.lildude.co.uk/howto-customise-thunderbird-date-format/"), consegui descobrir todos os locales suportados pelo meu sistema e seus respectivos formatos de data e hora:
for x in `locale -a`; do echo  $x ; LC_ALL=$x; locale -k d_fmt t_fmt; echo  === ; done
Descobri que todos os locales possuem arquivos de configuração que, na minha distribuição (Ubuntu 8.04), ficam em /usr/share/i18n/locales. Cada um destes arquivos descreve detalhadamente cada configuração de local possível. Encontrei algumas informações úteis sobre isso em "http://publib.boulder.ibm.com/infocenter/zos/v1r9/index.jsp?topic=/com.ibm.zos.r9.cbcpx01/cbcpg180772.htm".
A man-page 5 sobre locale (man 5 locale) também foi bastante útil.
Notei que diversas configurações eram declaradas com símbolos que, mais tarde, descobri tratarem-se de códigos da tabela UTF-8 (http://www.utf8-chartable.de/). Aí ficou fácil ver que, por exemplo:
"< U0025>< U0061>< U0020>< U0025>< U0062>< U0020>< U0025>< U0065>< U0020>< U0025>< U0048>< U003A>< U0025>< U004D>< U003A>< U0025>< U0053>< U0020>< U0025>< U005A>< U0020>< U0025>< U0059>"
é, em ASCII, igual a isso:
"%a %b %e %H:%M:%S %Z %Y"
A sintaxe é a mesma do comando date (man 1 date). Aí ficou fácil: bastava alterar aqui e recompilar o suporte ao tal locale. Mas achei uma forma mais fácil do que alterar (até porque uma atualização da distribuição mandaria pelos ares esta alteração): usar um que já viesse "de fábrica" como eu queria. Após uma pesquisada, achei o en_ZW.utf8, que exibe a data no formato "dia/mês/ano hora24:minuto:segundo".
Pronto! Era isso que eu queria! Mas só para o formato de data e hora. Quero continuar usando minha configuração atual para mensagens e outros (LC_*). Então, fiz assim:
export LC_TIME=en_ZW.utf8 thunderbird ```
Agora meu Thunderbird está como eu quero!
Alexandre Heitor Schmidt é Engenheiro da Computação e atua como Coordenador do Projeto SAGU na SOLIS - Cooperativa de Soluções Livres.