如何从命令行更改时区设置

我有一个设置为PST的虚拟机,有几个同事在不同的时区。 如果我想将时区更改为EST和GMT,我还需要做什么?

使用timedatectl

 sudo timedatectl set-timezone  

例子:

  • 时区为EST

     sudo timedatectl set-timezone EST 
  • 时区为UTC

     sudo timedatectl set-timezone UTC 
  • 列出所有有效的时区

     timedatectl list-timezones 

此命令非常适合自动化脚本,因为与基于dpkg-reconfigure tzdata的其他给定答案相比,它不需要任何用户交互

以下也有效。 对于GMT:

 ln -sf /usr/share/zoneinfo/GMT /etc/localtime 

森林:

 ln -sf /usr/share/zoneinfo/EST /etc/localtime 

作为root你必须执行:

 dpkg-reconfigure tzdata 

应启动基于菜单的工具,允许您更改时区。

特别是服务器最简单的方法是列出时区:

 timedatectl list-timezones 

并选择你的,例如:

 timedatectl set-timezone Europe/Athens 

而已! ,:-)

要运行具有不同时区设置的一个程序,请设置TZ环境变量,例如运行TZ=Pacific/Kiritimati date以查看它在圣诞岛上的时间,或export TZ=Pacific/Kiritimati以使设置最后为shell会话。

编辑/etc文件夹中的timezone文件:

 Etc/GMT 

您可以使用下一种格式:

 Region "/" City 

/etc/timezone示例:

 Europe/Athens 

要么

 Europe/Paris Europe/London 

您可以尝试使用: dpkg-reconfigure tzdata并检查cat timezone文件。

您必须重新启动或重新启动服务(而不是ntp服务)。 我不知道哪一个。 如果有人知道请与我们分享。 (在Ubuntu 15.10上测试,立即考虑更改)

 cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime 

我推荐其他人提到的AGAINST链接。 如果某个脚本意外地写了你的/etc/localtime文件,那么它会覆盖你的太平洋时区文件…而且替换它有点痛苦。

只需使用上面的命令将Pacific文件复制到localtime文件即可。

我使用以下脚本询问用户要设置的时区,然后确认它确实已设置:

 #!/bin/sh sudo timedatectl set-timezone $(tzselect) echo echo timedatectl says: timedatectl 

我称之为tz-set