RTC time和Local time区别以及Linux 设置时区和修改时间

Linux系统包含硬件时钟(RTC)和系统时钟,NTP用于网络时间同步。硬件时钟在BIOS中设置,系统时钟在开机时读取RTC并独立运行。timedatectl命令用于查看和管理时区、时间同步状态。RTC通常使用UTC,不保存时区信息,而系统时钟可保存时区和夏令时设置。CST代表中国标准时间,DST是夏令时,中国不使用。
摘要由CSDN通过智能技术生成

RTC time和Local time

在Linux系统中存在两个时钟时间,分别是
硬件时钟RTC(Real Time Clock) 系统时钟(System Clock)

硬件时钟是指的在主板上的时钟设备,也就是通常可以在BIOS画面设置的时钟,即使关机状态也可以计算时间。
而系统时钟则是指Kernel中的时钟,其值是由1970年1月1日00:00:00 UTC时间至当前时间所经历的秒数总和。
当Linux启动的时候,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。
长时间运行两者可能将会产生误差。
另外所有的Linux相关指令都是读取系统时钟指定的,如date。

NTP

NTP,网络时间协议,使用 123/udp 端口进行网络时钟同步
NTP 是仍在使用中的最古老的网络传输协议之一(1985 年前开始)。

查看时钟是否与互联网同步

OpenSUSE:~ # timedatectl      ##openSUSE15.1下查看
Local time: Tue 2020-05-05 10:38:53 CST      ##本地时间
Universal time: Tue 2020-05-05 02:38:53 UTC    ##协调世界时
RTC time: Tue 2020-05-05 02:38:51          ##硬件时间
Time zone: Asia/Shanghai (CST, +0800)        ##时区,我这里为东8Network time on: yes       ##NTP时间同步是否开启,yes表示是
NTP synchronized: yes        ##如果和远程NTP服务器成功同步,显示为yes
RTC in local TZ: no            ##no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间
root@HP:~# timedatectl      ##Ubuntu18.04下查看,下面的说明都以Ubuntu系统为例说明
Local time:2020-05-05 14:52:52 CST
Universal time:2020-05-05 06:52:52 UTC
RTC time:2020-05-05 06:52:52
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes         ##如果和远程NTP服务器成功同步,显示为yes
systemd-timesyncd.service active: yes    ##NTP时间同步是否开启,yes表示是,systemd-timesyncd服务为活动也就是开启了NTP时间同步
RTC in local TZ: no
timedatectl 命令显示本地时间、世界时、时区以及系统时钟是否与互联网服务器同步,以及 systemd-timesyncd.service 是处于活动状态还是非活动状态。

修改时区方法

1.使用命令:tzselect

选择亚洲 Asia
确认之后选择中国(China)
选择北京(Beijing)
选择(yes)

2.再次查看时间date -R,已经修改为北京时间

在这里插入图片描述

3.单纯的date的输出结果,其中CST表示东八区

在这里插入图片描述

以上修改的是系统时间,由操作系统控制。
还有一个硬件时间。使用hwclock --systohc可以将系统时间同步到硬件时间。

硬件时钟和系统时钟

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

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

硬件时钟设置

(1) 读取时间
timedatectl //等同于 timedatectl status

(2) 设置时区
timedatectl set-timezone Asia/Shanghai

(3) 是否NTP服务器同步
timedatectl set-ntp yes //yes或者no

(4) 将硬件时钟调整为与本地时钟一致
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tan.]der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值