한 시스템에서는 아래와 같이 date 명령 출력이 표시됩니다.
system1# date
Thu Oct 18 10:34:36 BST 2018
또 다른 유사한 상자에는 다음과 같이 표시됩니다.
system2#date
Thu 18 Oct 10:34:50 BST 2018
둘 다 별도의 열에 월을 표시합니다. 내가 만들 때
env LC_ALL=C date
system2에서는 "2018년 10월 18일 목요일 10:34:36 BST"라는 일반적인 방법으로 가져옵니다.
두 시스템 모두에서 로컬 디스플레이는 차이 없이 동일합니다.
#locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
어떤 아이디어라도
답변1
따라서 출력은 미국 형식(LC_ALL이 기본값으로 설정된 경우) 또는 영어 버전의 출력을 얻게 됩니다.
미국인이 사용하는 날짜 형식의 이상한 순서는 다른 나라에서도 거의 사용되지 않으며 영국에서도 확실히 사용되지 않습니다.
따라서 두 시스템 모두에서 동일한 출력을 원할 경우 두 시스템 모두에서 동일한 로케일을 설정하거나 명시적인 날짜 형식을 사용하십시오.
date '+%a %b %e %T %Z %Y'
이 예에서는 C 로케일 기본 날짜 형식을 사용합니다.
답변2
표준 날짜 출력을 원하면 ISO 8601 플래그를 사용하십시오.
robert@pip2:/tmp$ date
Thu May 30 07:16:51 PDT 2019
robert@pip2:/tmp$ date --iso-8601
2019-05-30
robert@pip2:/tmp$