명령 줄에서 시간대 설정을 변경하는 방법


221

몇 명의 동료가 다른 시간대로 가지고있는 가상 머신을 PST 로 설정했습니다 .

시간대를 ESTGMT 로 변경하려면 어떻게해야합니까?

답변:


288

사용하다 timedatectl

sudo timedatectl set-timezone <timeszone>

예 :

  • EST로서의 시간대

    sudo timedatectl set-timezone EST
    
  • UTC로 시간대

    sudo timedatectl set-timezone UTC
    
  • 유효한 모든 시간대 나열

    timedatectl list-timezones
    

이 명령은 완벽한 그 어떤 요구하지 않기 때문에 자동화 스크립트에 대한 사용자 상호 작용을 기반으로 다른 주어진 답과 비교하면서 dpkg-reconfigure tzdata.


1
+1 댓글의 팬은 아니지만 이것이 최선의 방법으로 효과가 있었으므로 여기에 의견을 올리려고합니다. 메뉴 또는 GUI 프로그램 전체를 시작하지 않고 시간대를 변경하는 단일 한 줄 명령 줄 도구를 원했습니다 (무엇을 tzdata하는지, 작동 방식을 모르지만 이것과 관련이 없습니다. 한 줄 명령). 감사!
Phil Ryan

매력처럼 작동;)
user332660

흥미롭게도 tzdata와는 조금 다른 일을하고 있습니다. 패치를 적용한 후 Java 시간이 시스템 시간과 다른 문제가있었습니다. Tzdata는 문제를 해결하지 못했지만 문제가 해결되었습니다.
Daniel Bower

1
이것은 나를 위해 작동하지 않았다; 그러나 dpkg-reconfigure트릭을했다.
Antti Haapala

14.04.4 우분투 서버
Antti Haapala

40

루트 권한으로 다음을 실행해야합니다.

dpkg-reconfigure tzdata

시간대를 변경할 수있는 메뉴 기반 도구가 시작되어야합니다.


32

다음도 작동합니다. GMT의 경우 :

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

EST의 경우 :

ln -sf /usr/share/zoneinfo/EST /etc/localtime

8
GMT 또는 EST 대신 도시 파일 중 하나를 연결하는 것이 일광 절약 시간을 추적하는 반면 GMT를 연결하면 일광 절약 시간 제가 적용될 때 시스템 시간이 변경되지 않습니다. 당신의 도시에서. 예 :ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime
Asfand Qazi

이것은 최고입니다
Hasan Tıngır

16

특히 서버에 가장 쉬운 방법은 시간대를 나열하는 것입니다.

timedatectl list-timezones

그리고 당신을 선택하십시오 :

timedatectl set-timezone Europe/Athens

그게 다야! , :-)


6

다른 시간대 설정으로 하나의 프로그램을 실행하려면 TZ환경 변수를 설정하십시오 ( 예 : TZ=Pacific/Kiritimati date크리스마스 섬의 시간을 보거나 export TZ=Pacific/Kiritimati쉘 세션에 대한 설정을 마지막으로 실행).


6

폴더 timezone에서 파일을 다음 /etc과 같이 편집하십시오 .

Etc/GMT

다음 형식을 사용할 수 있습니다.

Region "/" City 

/etc/timezone:

Europe/Athens

또는

Europe/Paris
Europe/London

:로 실험 dpkg-reconfigure tzdata 하고 표준 시간대 파일을 확인하십시오.

서비스를 재부팅하거나 다시 시작해야합니다 (ntp 서비스 아님). 나는 어느 것을 모른다. 누군가 알고 있다면 우리와 공유하십시오. (우분투 15.10에서 테스트 한 변경 사항은 즉시 고려됩니다)


4
cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime

다른 사람들이 언급 한 것처럼 AGAINST 연결을 권장합니다. 일부 스크립트가 실수로 /etc/localtime파일을 덮어 쓰는 경우 태평양 시간대 파일을 덮어 씁니다 ...이 파일을 바꾸는 데 약간의 어려움이 있습니다.

위 명령으로 태평양 파일을 현지 시간 파일에 복사하면됩니다.


이것은 실제로 나를 위해 일했습니다. Docker에 버그가 있다고 생각합니다. timedatectl과 dpkg-reconfigure tzdata 모두 실패했습니다. 복사 한 후 시간대가 EST에서 PDT로 변경되었습니다.
Sun

2

다음 스크립트를 사용하여 사용자에게 시간대를 설정 한 다음 실제로 설정되었는지 확인합니다.

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

나는 그것을 부른다 tz-set.


0

루트 권한으로 다음을 실행해야합니다.

ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata


시간대를 변경하기 위해이 명령의 작동 방식을 설명하십시오.
Parto

0

이것은 SSH를 통해 GCP Ubuntu 14에서 나를 위해 일했습니다.

  1. sudo su
  2. cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
  3. 서버를 다시 시작하십시오
  4. 끝난
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.