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

Thu May 17 12:21:00 IST 2012

以下是基于执行dpkg-reconfigure tzdata的时区配置
/>
  Current default time zone: 'Europe/Dublin'
  Local time is now: Thu May 17 12:32:52 IST 2012.
  Universal Time is now: Thu May 17 11:32:52 UTC 2012.
  


任何想法如何将我从IST更改为UTC / GMT?

#1 楼


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


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

评论


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

–wberry
2012年8月22日15:08

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

–user98095
2012年10月16日17:50

在Ubuntu 14.04.1中,Etc是上述都不是。

– f01
16年7月4日在13:51

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

–丹·尼森鲍姆(Dan Nissenbaum)
16 Dec 15'在6:29

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

–EODCraft员工
19年8月27日在18:39



#2 楼

sudo timedatectl set-timezone UTC


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

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


摘自@MattJohnson关于SO的答案


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

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


#3 楼

在旧的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),因为时区仅用于显示/将时间转换为字符串,而不是用于存储它(无论时区如何,1970年1月1日的差异在地球上到处都是一样的。)

评论


我可以使用它通过以下命令将UTC更改为Asia / Kolkatta。sudo rm / etc / localtime(我已经有了此文件,因此无法使用下一个命令创建符号链接,因此我首先将其删除),sudo ln -s / usr /分享/ zoneinfo /亚洲/加尔各答/ etc / localtime。我认为这似乎是一个普遍的解决方案。

– Ajeeb.K.P
16-2-24在8:53



#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吗?谢谢

–阿拉丁医师
19 Mar 21 '19在3:35

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

– Broadsworde
19年3月21日在13:34

嘿,我解决了,sudo timedatectl set-timezone Asia / Dhaka顺便说一句。

–阿拉丁医师
19 Mar 22 '19在3:19

我误解了您的要求...可用列表时区集中有很多时区都符合UTC + 06:00,我想您正在寻找一种应用非地理通用UTC偏移量的方法。很高兴您找到了想要的东西。

– Broadsworde
19年3月22日在16:36

#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


#6 楼

如果只需要一个命令(例如ls)使用此命令,请使用以下命令:
TZ=UTC ls -l --full-time