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.