Por que a 'data' não respeita minha localidade?

1

Estou tendo alguns problemas processando datas, onde eles estão sendo interpretados no formato americano (mm-dd) em vez do formato EU / AU (dd-mm). Parece que date não respeita minhas configurações de localidade ou elas estão definidas incorretamente.

# This is correct, date read as US mm-dd-yy format
$ LC_TIME="en_US" date +%Y-%m-%d -d 1/2/03
2003-01-02

# This is incorrect, dates are read as US mm-dd-yy instead of AU dd-mm-yyyy
$ LC_TIME="en_AU" date +%Y-%m-%d -d 1/2/03
2003-01-02

As configurações de localidade parecem boas, pois date pode produzir o formato correto:

$ LC_TIME="en_US" date +%x -d 2003-02-01
02/01/2003
$ LC_TIME="en_AU" date +%x -d 2003-02-01
01/02/03

Este é um bug em date , ou você precisa fazer outra coisa para que ele respeite as configurações locais ao ler datas curtas?

    
por Malvineous 16.08.2015 / 02:50

1 resposta

2

A opção

GNU date -d está esperando que a data fornecida esteja em "formato independente de código de idioma", ou seja, POSIX , que significa essencialmente o formato US em relação a xx/yy/zz .

    
por 16.08.2015 / 03:55

Tags