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

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

Thu May 17 12:21:00 IST 2012

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

  目前默认时区:'Europe / Dublin'
  现在是时间:Thu May 17 12:32:52 IST 2012。
  世界时现在:2012年5月17日星期四11:32:52 UTC。
  

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

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

要切换到UTC,只需执行sudo dpkg-reconfigure tzdata ,滚动到“大陆”列表的底部,然后选择None of the above EtcNone of the above ; 在第二个列表中,选择UTC 。 如果您更喜欢GMT而不是UTC,那么它就在该列表中的UTC之上。 🙂

 sudo timedatectl set-timezone UTC 

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

您可以执行timedatectl list-timezones来查看所有可用的时区。


摘自@MattJohnson关于SO的回答

Etc/GMT+6区域有意颠倒,以便与POSIX标准向后兼容。 请参阅此文件中的注释。

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

在旧的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在地球上到处都是一样的)。

像这样的东西?

 $ 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 

更新时间为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*