这个是一个关于时间的问题,我们就先来了解一下关于时间的概念
UTC(Universal Time Coordinated):协调世界时
GMT(Greenwich Mean Time):格林威治时间
本地时间(local
time):全球二十四个时区,以GMT或UTC为基准进行调整。例如,北京为东八区,则北京时间为GMT+8或UTC+8
UTC和GMT基本上一致,但UTC经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以秒为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此UTC比GMT来得更加精准更为精确。
Windows与Mac/Linux 缺省看待系统硬件时间的方式是不一样的:
1) Windows把系统硬件时间当作本地时间(local
time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
2) Linux/Unix/Mac默认把硬件时间当作
UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。
因此,若要解决上述Windows和Linux显示时间不一致的问题,只要安装设置Linux/Unix/Mac不要将硬件时间当做UTC时间,而是作为本地时间即可。
在CentOS 7里面有一个命令timedatectl 可以帮助我们修改服务器的时区。
首先我们可以使用timedatectl命令查看目前服务器里的时区设置:
Local time: 二 2016-04-19 20:58:44 CST
Universal time: 二 2016-04-19 12:58:44 UTC
RTC time: 二 2016-04-19 12:58:44
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
从上我们可以看到目前主机或服务器里的所有设置(时间、时区、NTP … )
使用命令timedatectl
list-timezones 查看所有的时区
使用命令timedatectl
set-timezone 设置时区
例如:timedatectl
set-timezone Asia/Shanghai
设置完时区后当然还可以设置NTP服务器的开启和关闭
开启NTP:timedatectl
set-ntp yes
关闭NTP:timedatectl
set-ntp no
当然timedatectl命令还可以设置日期与时间
设置日期:timedatectl
set-time YYYY-MM-DD
设置时间:timedatectl
set-time HH:MM:SS
centos7安装时勾选了utc,会把主板时间作为utc,要更正过来
先时间同步 ntpdate
ntp1.aliyun.com
在将系统时间写入硬件,hwclock --systohc
--localtime
|