Linux系统时间(本地时间、UTC)与Windows系统时间设置区别详解

作者:anxin
日期:2017-09-03
分享:

Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是主板 BIOS 的时钟。系统时钟是 Linux 系统内核(kernel)中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

Linux 有两种使用 BIOS 时间设置硬件时间的方式:本地时间和 UTC。都知道在 BIOS 中有一个时间,那么“本地时间”和“UTC”和 BIOS 时间有什么关联哪?

本地时间”是把 BIOS 时间看做是“本地时间”,即:BIOS 时间不用加时区数,直接作为硬件时间。(同理,Windows 系统就是使用的本地时间,即:读出的 BIOS 时间作为系统时间)。

UTC” 是把 BIOS 时间看做是 UTC 的标准时,即:BIOS 时间是 0 时区的时间,系统所设置的时区的时间要加上或减去时区数来计算出“硬件时间”(东经要减时区数,西经加时区数)。

所以使用 UTC 时间时要比我们通常使用的 Windows 时间慢 8 个小时。

1、设置使用本地时间或UTC

Linux 默认时间配置文件为:/etc/adjtime。

adjtime文件不需要手动修改,使用hwclock命令就行了。

//设置本地时间
sudo hwclock -w --localtime
// 设置UTC
sudo hwclock -w --utc

注:如果要是 Linux 和 Windows 时间一致,要使用本地时间。

2、使用 ntpdate 同步硬件时间

NTP 是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。在世界各地都有 NTP 时间服务器,用来同步时间。

ntpdate 是 Linux 系统下的同步 NTP 服务器时间的工具。

1)、CentOS安装ntpdate

ntpdate 软件包位于 CentOS 的 updates 软件源中。使用yum工具安装:

sudo yum install ntpdate

2)、Debian安装ntpdate

ntpdate 软件包位于Debian的main软件源中。使用apt工具安装:

sudo apt-get install ntpdate

3)、使用 ntpdate 同步硬件时间:

在全球有很多 NTP 服务器,可以查看 NTP 服务器列表:http://www.ntp.org.cn/

我们使用中国 NTP 服务器:edu.ntp.org.cn

sudo ntpdate edu.ntp.org.cn

如果时间服务器不可访问,请切换一个时间服务器

如出现the NTP socket is in use, exiting错误,则停止ntpd服务后在运行如上命令:

sudo systemctl stop ntpd

同步时间后再开启ntpd服务:

sudo systemctl start ntpd

3、把硬件时间同步到系统时间

sudo hwclock --hctosys
本文链接:https://www.yuzhi100.com/article/linux-local-utc-time

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!

作者:anxin