Jak zmienić strefę czasową na UTC / GMT?


109

Obecnie, kiedy wykonuję polecenie date z bash, wyświetla się następujący komunikat

Thu May 17 12:21:00 IST 2012

Poniżej znajduje się moja konfiguracja strefy czasowej oparta na wykonywaniu dpkg-reconfigure tzdata

  Aktualna domyślna strefa czasowa: „Europa / Dublin”
  Czas lokalny jest teraz: Czw 17 maja 12:32:52 IST 2012.
  Czas uniwersalny jest teraz: Czw 17 maja 11:32:52 UTC 2012.
  

Masz pomysł, jak zmienić z IST na UTC / GMT?

Odpowiedzi:


148

Masz pomysł, jak zmienić z IST na GMT?

Aby przełączyć na UTC, po prostu uruchom sudo dpkg-reconfigure tzdata, przewiń w dół listy kontynentów i wybierz Etclub None of the above; na drugiej liście wybierz UTC. Jeśli wolisz GMT zamiast UTC, na tej liście jest nieco powyżej UTC. :)


2
Tak! Chciałbym, aby to było domyślnie włączone.
wberry

1
Po zrobieniu tego, co napisałeś powyżej i zmianie strefy czasowej, mój serwer nadal ma ten sam zły czas, czy muszę ponownie uruchomić system, czy co?

6
W Ubuntu 14.04.1 Etcjest None of the above.
f01

1
Z wiersza poleceń w Ubuntu następujący link udostępnia trywialne polecenie 1-wierszowe: askubuntu.com/a/524362/182454
Dan Nissenbaum

Prostota! (KISS) Uwielbiam to, dzięki! Przy minimalnej instalacji na serwerze za drugim razem Strefy są niedostępne, tylko UTC, więc instalacja sudo apt install tzdataMUSI!
EODCraft Staff

48
sudo timedatectl set-timezone UTC

Zmieni strefę czasową na system UTC.

Możesz zrobić, timedatectl list-timezonesaby zobaczyć wszystkie dostępne strefy czasowe.


fragment odpowiedzi @ MattJohnson na SO

Podobne strefy Etc/GMT+6są celowo odwracane w celu zapewnienia zgodności wstecznej ze standardami POSIX. Zobacz komentarze w tym pliku .

Prawie nigdy nie powinieneś używać tych stref. Zamiast tego powinieneś używać w pełni nazwanej strefy czasowej, takiej jak America/New_Yorklub innej Europe/Londonodpowiedniej dla Twojej lokalizacji. Zobacz listę tutaj .


10

W starym stylu Un * x (SunOS, HPUX ...) możesz:

ln -fs /usr/share/zoneinfo/UTC /etc/localtime

Sprawdź zawartość / usr / share / zoneinfo, aby uzyskać żądaną / potrzebną strefę czasową.

Na przykład irlandzki czas letni (IST) można zdefiniować jako

-rw-r--r-- 1 root root 3661 Mar 13 22:18 /usr/share/zoneinfo/posix/Eire

lub

lrwxrwxrwx 1 root root 13 Mar 13 22:18 /usr/share/zoneinfo/Europe/Dublin -> ../posix/Eire

Najważniejsze jest jednak użycie odpowiedniego odniesienia zegara i demona NTTP (na przykład openntpd), ponieważ strefa czasowa służy tylko do wyświetlania / konwertowania czasu na ciągi, a nie do jego przechowywania (bez względu na strefę czasową, różnica na 01/01 / 1970 jest wszędzie taki sam na Ziemi).


Mogę użyć tego zmienić UTC Asia / Kolkatta z .. sudo rm /etc/localtime(miałem już tego pliku, więc nie można utworzyć dowiązania z następnego polecenia, więc usunąłem go najpierw) sudo ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime. Myślę, że jest to ogólne rozwiązanie.
Ajeeb.KP

5

Coś takiego?

$ date
Wed Jul 16 22:52:47 EDT 2014

$ cat /etc/timezone
America/New_York

$ sudo dpkg-reconfigure tzdata
$ service cron stop && service cron start

4

Zaktualizowano do 14.04 do chwili obecnej

Wyświetl status godziny i daty:

$ timedatectl status
                      Local time: Sun 2018-07-29 15:26:03 BST
                  Universal time: Sun 2018-07-29 14:26:03 UTC
                        RTC time: Sun 2018-07-29 14:26:03
                       Time zone: Europe/London (BST, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Wyświetl listę stref czasowych:
wymienione strefy czasowe (425)

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
...
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
UTC

Ustaw strefę czasową na UTC:

$ timedatectl set-timezone UTC

Wyświetl status godziny i daty:

$ timedatectl status
                      Local time: Sun 2018-07-29 14:46:27 UTC
                  Universal time: Sun 2018-07-29 14:46:27 UTC
                        RTC time: Sun 2018-07-29 14:46:27
                       Time zone: UTC (UTC, +0000)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no*

Hej, czy możesz mi pomóc ustawić strefę czasową UTC + 06: 00? dzięki
Md Alamin

Miałem kopać, ale set-timezone pozwala tylko ustawić strefę czasową w dostępnych strefach czasowych list, nie można stosować modyfikatorów ani przesunięć, jak się wydaje. Może istnieć inny sposób osiągnięcia ustawienia UTC + 06: 00, ale nie mogłem go znaleźć ... warto zadać forum nowe pytanie.
Broadsworde

Hej, rozwiązałem to, sudo timedatectl set-timezone Asia/Dhakadzięki Dzięki.
Md Alamin

1
Nie zrozumiałem twojego wymagania ... w dostępnym zestawie list stref czasowych jest wiele stref czasowych, które spełniają UTC + 06: 00, myślałem, że szukasz sposobu na zastosowanie niegeograficznego ogólnego przesunięcia czasu UTC. Cieszę się, że znalazłeś to, czego szukałeś.
Broadsworde
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.