"날짜"가 내 로케일을 존중하지 않는 이유는 무엇입니까?

"날짜"가 내 로케일을 존중하지 않는 이유는 무엇입니까?

날짜에 문제가 있습니다. EU/호주 형식(dd-mm) 대신 미국 형식(mm-dd)으로 해석됩니다. date내 로케일 설정을 따르지 않거나 잘못 설정된 것 같습니다 .

# 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

로케일이 괜찮아 보이고 date올바른 형식을 생성합니다.

$ 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

이것은 버그입니까 date, 아니면 짧은 날짜를 읽을 때 로케일을 존중하도록 다른 작업을 수행해야 합니까?

답변1

GNU date -d옵션은 제공된 날짜가 "로케일 독립적인 형식"일 것으로 예상합니다. 이는 기본적으로 날짜에 관한 한 미국 형식을 의미합니다 POSIX.xx/yy/zz

관련 정보