在CentOS 6版本,时间设置有date、hwclock命令,

硬件时钟和系统时钟

(1) 硬件时钟

RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

(2) 系统时钟

一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

从CentOS 7开始,使用了一个新的命令timedatectl

timedatectl 命令

(1) 读取时间

timedatectl //等同于 timedatectl status

(2) 设置时间

timedatectl set-time “YYYY-MM-DD HH:MM:SS”

(3) 列出所有时区

timedatectl list-timezones

(4) 设置时区

timedatectl set-timezone Asia/Shanghai

(5) 是否NTP服务器同步

timedatectl set-ntp yes //yes或者no

(6) 将硬件时钟调整为与本地时钟一致

timedatectl set-local-rtc 1
hwclock –systohc –localtime //与上面命令效果一致

注意: 硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现下面的警告。

GMT、UTC、CST、DST 时间

(1) UTC

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。

(2) GMT

格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

(3) CST

中国标准时间 (China Standard Time)

(4) DST

夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)

GMT + 8 = UTC + 8 = CST

安装完成centos7后,虽然时区选择的是上海,但是最终的时间还是不对,因为没有开启自动同步NTP功能,所以需要自动手动设置。

首先输入timedatectl命令,查看当前机器的时间:

Local time: 四 2016-08-25 18:52:55 CST –China Standard Time 北京时间

Universal time: 四 2016-08-25 10:52:55 UTC –格林尼治时间

RTC time: 四 2016-08-25 18:52:56 –Real Time Clock实时时间

Time zone: Asia/Shanghai (CST, +0800) –表示上海时区,采用北京时间,在UTC+8时区

NTP enabled: n/a

NTP synchronized: no

RTC in local TZ: yes

设置时区:

timedatectl set-timezone Asia/Shanghai

设置日期:

timedatectl set-time YYYY-MM-DD

设置时间:

timedatectl set-time HH:MM:SS –此处修改的是当前时区的时间

时区可以在目录/usr/share/zoneinfo查看所有的支持的时区,本人没找到Beijing,所以用Shanghai

比如当前为北京时间 19:20:25

则输入timedatectl set-time 19:20:25