내 시스템의 zoneinfo 데이터베이스에 모든 시간대 목록을 갖고 싶습니다(참고: 시스템은 debian strecth linux입니다).
내 현재 솔루션은 다음과 같습니다. 아래의 모든 경로를 나열하십시오 /usr/share/zoneinfo/posix
. 일반 파일이거나 심볼릭 링크입니다.
cd /usr/share/zoneinfo/posix && find * -type f -or -type l | sort
그러나 알려진 모든 시간대가 이 디렉토리 아래의 경로에 매핑되는지는 확실하지 않습니다.
질문
시스템의 현재 zoneinfo 데이터베이스에 있는 전체 시간대 목록을 제공할 수 있는 명령이 있습니까?
답변1
Debian 9에서 명령을 실행하면 여기에 나열된 모든 시간대가 표시됩니다.https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
또한 명령과 동일한 목록을 systemd
출력합니다 .timedatectl list-timezones
내가 아는 한, 여기에 포함된 데이터는 tzdata
IANA에서 직접 제공합니다.
This package contains data required for the implementation of
standard local time for many representative locations around the
globe. It is updated periodically to reflect changes made by
political bodies to time zone boundaries, UTC offsets, and
daylight-saving rules.
따라서 tzdata
패키지를 최신 상태로 유지하십시오.
답변2
사용하지 않는 시스템에서 목록을 검색하려는 경우 구현에서 파생된 스크립트 systemd
는 다음과 같습니다 .awk
timedatectl list-timezones
awk '/^Z/ { print $2 }; /^L/ { print $3 }' /usr/share/zoneinfo/tzdata.zi
출력을 에 파이프하면 sort
와 거의 동일한 결과를 얻을 수 있습니다 timedatectl list-timezones
.