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?

dmckenna
źródło

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. :)

ish
źródło
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 .

dkam
źródło
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).

Marabiloso
źródło
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
K-Gun
źródło
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*
Pałasz
źródło
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