使用 /etc/localtime 文件修改时区

先查看一下当前的时区,下面这个例子中使用 UTC 即世界统一标准时区。假设你可能需要改为美国西部标准时间,即太平洋时间。

# date
Thu Aug 17 22:59:24 UTC 2016

在某些发行版的 Linux 系统(比如 CentOS)中,系统时区是由 /etc/localtime 文件控制的,所以可以通过修改 /etc/localtime 文件来修改系统时区。

删除 /etc/localtime 文件,

# cd /etc/
# rm localtime

所有的美国时区文件都可以在 /usr/share/zoneinfo/US 目录下找到:

# ls /usr/share/zoneinfo/US/
Alaska Arizona Eastern Hawaii Michigan Pacific
Aleutian Central East-Indiana Indiana-Starke Mountain Samoa

其他国家的时区文件,可以在 `/usr/share/zoneinfo/ 找到。

创建一个软连接 /etc/localtime ,指向上述 US 目录中的 Pacific 文件:

# cd /etc
# ln -s /usr/share/zoneinfo/US/Pacific localtime

到此,已经将系统的时区改为美国西部所在的时区:

# date
Thu Aug 17 23:10:14 PDT 2016

使用 /etc/timezone 文件修改时区

在某些发行版的 Linux 系统(比如 Ubuntu)中,系统时区是由 /etc/timezone 文件控制的,所以可以通过修改 /etc/timezone 文件来修改系统时区。

举个例子,你现在的时区可能在美国东部时间(比如:纽约):

# cat /etc/timezone
America/New_York

需要设置到美国太平洋时间(比如:洛杉矶),修改 /etc/timezone 时间:

# vim /etc/timezone
America/Los_Angeles

当然,也可以通过在命令行上修改 TZ 的值来设置时区:

# export TZ=America/Los_Angeles

About Me
后端开发工程师
GitHub Repos