问题描述
目前,当我从bash执行日期命令时,会显示以下内容
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?
最佳解决方案
Any idea how I change from IST to GMT?
要切换到UTC,只需执行sudo dpkg-reconfigure tzdata
,滚动到Continents列表底部并选择Etc
或None of the above
;在第二个列表中,选择UTC
。如果您更喜欢GMT而不是UTC,则它在该列表中略高于UTC。 🙂
次佳解决方案
在16.04,以下命令将时区设置为UTC:
sudo timedatectl set-timezone Etc/UTC
从这里找到:https://www.server-world.info/en/note?os=Ubuntu_16.04&p=timezone
第三种解决方案
在旧的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