如何将时区更改为UTC / GMT?


109

当前,当我从bash执行date命令时,显示以下内容

Thu May 17 12:21:00 IST 2012

以下是我基于执行的时区配置 dpkg-reconfigure tzdata

  当前默认时区:“欧洲/都柏林”
  现在是当地时间:IST 2012年5月17日星期四12:32:52。
  现在的世界时间是:UTC 2012年5月17日星期四11:32:52。
  

知道我如何从IST更改为UTC / GMT吗?

Answers:


148

知道我如何从IST转换为GMT吗?

要切换到UTC,只需执行sudo dpkg-reconfigure tzdata,滚动到Continents列表的底部,然后选择EtcNone of the above;在第二个列表中,选择UTC。如果您更喜欢GMT而不是UTC,则它在该列表中的UTC上方。:)


2
是! 我希望默认情况下启用此功能。
wberry 2012年

1
完成上述操作并更改时区之后,我的服务器仍具有相同的错误时间,我是否需要重新启动系统,还是什么?

6
在Ubuntu 14.04.1中,EtcNone of the above
f01 2016年

1
在Ubuntu的命令行中,以下链接提供了简单的1行命令:askubuntu.com/a/524362/182454
Dan Nissenbaum 2016年

简单!(吻)爱,谢谢!在最小服务器上,其他时区不可用,只有UTC不可用,因此sudo apt install tzdata必须进行安装!
EODCraft工作人员

48
sudo timedatectl set-timezone UTC

将您的时区更改为UTC系统范围。

您可以timedatectl list-timezones查看所有可用时区。


摘自@MattJohnson关于SO的答案

Etc/GMT+6为了与POSIX标准向后兼容,故意将类似的区域反转。请参阅此文件中的注释。

您几乎永远不需要使用这些区域。相反,您应该使用一个全名的时区,例如America/New_YorkEurope/London或适合您所在位置的任何时区。请参阅此处的列表。


10

在旧的Un * x样式(SunOS,HPUX ...)中,您可以执行以下操作:

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

检查/ usr / share / zoneinfo的内容,以获取所需/所需的时区。

例如,爱尔兰夏令时(IST)可以定义为

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

要么

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

但是,最重要的是使用正确的时钟参考和ntp守护程序(例如,openntpd),因为时区仅用于显示/将时间转换为字符串,而不是存储时间(无论时区与01/01的区别) / 1970在地球上到处都是相同的)。


我可以用它来改变UTC亚洲/加尔各答与.. sudo rm /etc/localtime(我已经有了这个文件,因此无法创建下一个命令的符号链接,所以我先删除了)sudo ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime。我认为这似乎是一个普遍的解决方案。
Ajeeb.KP,2016年

5

像这样吗

$ 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

已更新为14.04到现在

查看时间和日期状态:

$ 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

查看时区列表:
列出的时区(425)

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

将时区设置为UTC:

$ timedatectl set-timezone UTC

查看时间和日期状态:

$ 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*

嘿,您能帮我设置时区UTC + 06:00吗?谢谢
Md Alamin

我进行了深入研究,但是set-timezone仅允许您在可用的列表时区中设置时区,您似乎无法应用修饰符或偏移量。可能还有另一种方法可以设置UTC + 06:00,但我找不到它...值得在新问题中询问论坛。
Broadsworde

嘿,我解决了,sudo timedatectl set-timezone Asia/Dhaka谢谢。
Md Alamin

1
我误解了您的要求...可用列表时区集中有很多时区都符合UTC + 06:00,我想您正在寻找一种应用非地理通用UTC偏移量的方法。很高兴您找到了想要的东西。
Broadsworde
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.