!["날짜"가 내 로케일을 존중하지 않는 이유는 무엇입니까?](https://linux55.com/image/70994/%22%EB%82%A0%EC%A7%9C%22%EA%B0%80%20%EB%82%B4%20%EB%A1%9C%EC%BC%80%EC%9D%BC%EC%9D%84%20%EC%A1%B4%EC%A4%91%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
날짜에 문제가 있습니다. 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