phoemur
(usa Debian)
Enviado em 14/09/2015 - 00:19h
https://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/
Realmente o meu locale aqui também é pt_BR.UTF-8 e LC_TIME=pt_BR.UTF-8
A data também aparece no seguinte formato:
Dom Set 13 23:59:29 BRT 2015
No link acima ele ensina a mudar isso e criar um locale custom com o formato que você deseja.
Basicamente você teria que editar o arquivo /usr/share/i18n/locales/pt_BR e alteraro trecho:
date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
Contudo como você percebeu, são utilizados os códigos unicode (ex.: <U0020>), porém são equivalentes à seguinte string:
"%a %b %e %H:%M:%S %Z %Y"
Em resumo:
Para saber o formato da data que está no seu locale:
phoemur /usr/share/i18n/locales $ locale -k date_fmt
date_fmt="%a %b %e %H:%M:%S %Z %Y"
phoemur /usr/share/i18n/locales $ date
Seg Set 14 00:07:43 BRT 2015
O que você quer então seria inverter o
%b com o
%e no seu arquivo /usr/share/i18n/locales/pt_BR
Ou seja, troque aquela parte citada logo acima e deixe assim:
date_fmt "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
Onde:
<U0025> = %
<U0061> = a
<U0020> = espaço em branco
E assim por diante, espero ter sido claro.
Depois de ter feito isso carregue novamente o locale com o seguinte comando (execute como root):
# localedef -f UTF-8 -i /usr/share/i18n/locales/pt_BR pt_BR.UTF-8
E o resultado esperado
root /usr/share/i18n/locales # date
Seg 14 Set 00:27:21 BRT 2015
Acho que já tomei cerveja demais hoje..rs
Amanhã vou fazer uma dica sobre isso