在过去的CentOS版本里,要设置时区的话要手动修改 /etc/locale .conf文件,很是麻烦,不过CentOS 7 已经为我们准备好一个非常强大的工具了: localectl

显示当前时区
使用以下命令:
 

复制代码
代码如下:

~]$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: n/a

可以看到,除了显示了系统的时区信息以外,还显示了键盘信息和X11布局信息

 

列出所有的时区
用以下命令显示所有的英文时区
 

复制代码
代码如下:

~]$ localectl list-locales | grep en_
en_AG
en_AG.utf8
en_AU
en_AU.iso88591
en_AU.utf8
en_BW
en_BW.iso88591
en_BW.utf8

如果要显示中文的,只需要把grep en 改成grep zh就行了

 

设置本地时区
使用Root执行以下命令:
 

复制代码
代码如下:

localectl set-locale LANG=locale

把最后的 locale 替换成具体的时区,比如zh_CN.UTF-8就可以设置了。

 

是不是很强大啊。


timedatectl
下面隆重来介绍一下timedatectl命令~
在以前的CentOS版本里,时间设置有 date , hwclock 等一系列命令,但是CentOS 7 开始,使用了一个统一的命令:
 

复制代码
代码如下:

timedatectl

这个命令非常的强大,首先是直接使用可以显示当前的系统时间的一些信息:

复制代码
代码如下:

~]$ timedatectl
Local time: Mon 2013-09-16 19:30:24 CEST
Universal time: Mon 2013-09-16 17:30:24 UTC
Timezone: Europe/Prague (CEST, +0200)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2013-03-31 01:59:59 CET
Sun 2013-03-31 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2013-10-27 02:59:59 CEST
Sun 2013-10-27 02:00:00 CET

 

设置当前日期:
使用Root执行以下命令就可以了:
 

复制代码
代码如下:

timedatectl set-time YYYY-MM-DD

 

设置当前时间:
依旧是要Root权限
 

复制代码
代码如下:

timedatectl set-time HH:MM:SS

默认的,系统是使用UTC时间的,可以用以下命令打开和关闭UTC时间:

复制代码
代码如下:

timedatectl set-local-rtc boolean

把 boolean 替换成yes则表示使用本地时间,替换成no则表示是UTC时间

 

设置任意时区
可以用以下命令查看所有的时区:
 

复制代码
代码如下:

timedatectl list-timezones

然后用以下命令设置时区:

复制代码
代码如下:

timedatectl set-timezone time_zone

当然root权限是免不了的

 

与远程NTP服务器同步
timedatectl还可以设置是否打开NTP选项
 

复制代码
代码如下:

timedatectl set-ntp boolean

同样的,这里的boolean是yes或者no