CentOS 7에서 현재 시간대를 얻으시겠습니까?

CentOS 7에서 현재 시간대를 얻으시겠습니까?

이전 버전의 CentOS에서는 다음 명령을 사용하여 bash 스크립트에서 현재 시간대를 가져왔습니다.

timezone=$(sed 's/ZONE=//g' /etc/sysconfig/clock)

출력은 다음과 같습니다 "America/New_York"

CentOS 7에서 정확한 출력을 얻는 방법은 무엇입니까?

답변1

CentOS 7 특정:

timedatectl | gawk -F': ' ' $1 ~ /Timezone/ {print $2}'

시간대만 표시합니다.

timedatectl | gawk -F'[: ]+' ' $2 ~ /Timezone/ {print $3}'

더 일반적인 것:

date +%Z

답변2

사용하는 것이 마음에 들지 않으면 perl다음을 사용할 수 있습니다.날짜시간::시간대CPAN의 모듈:

$ perl -MDateTime::TimeZone -E '
  say DateTime::TimeZone->new(name => "local")->name();
'
Asia/Ho_Chi_Minh

POSIXly, 당신은 사용할 수 있습니다날짜형식 %Z:

$ date +%Z
ICT

답변3

timedatectl | awk '/Time zone:/ {print $3}'

답변4

시간대의 경우 위치정보를 사용할 수 있습니다.

$ curl https://ipapi.co/timezone
America/Chicago

또는:

$ curl http://ip-api.com/line?fields=timezone
America/Chicago

http://wiki.archlinux.org/index.php/time#Time_zone

관련 정보