UTC和RTC

理解时间:硬件时间、系统时间(UTC时间)、本地时间、时区与夏令时
处理和管理时间是计算机科学的重要方面,但也是最复杂和容易混淆的方面之一。本文将详细介绍硬件时间、系统时间(UTC时间)、本地时间、时区和夏令时,希望能帮助读者更好地理解这些概念。

1. 硬件时间(RTC time)

1.1 硬件时间简介

硬件时间,也被称为实时时钟(RTC),是指计算机主板上的一个独立于操作系统的设备,它在电源关闭甚至断电情况下也能保持运行。其功能是记录当前的日期和时间。

1.2 如何使用硬件时间

大部分操作系统在启动时会从RTC读取时间,然后设置系统时间。同样,操作系统也可以将系统时间写回到RTC中。

在Unix和类Unix系统中,hwclock命令可以用来查询和设置RTC时间。例如:

# 查询硬件时间

hwclock --show

# 将系统时间设置为硬件时间

hwclock --systohc

# 将硬件时间设置为系统时间

hwclock --hctosys

在Windows系统中,可以通过日期和时间设置对话框或time命令查询和设置RTC时间。

2. 系统时间(UTC时间)(Universal time)


2.1 系统时间简介

系统时间是计算机内部使用的时间,它通常在启动时从RTC设置,然后由系统时钟进行跟踪。系统时钟是操作系统内核的一部分,可以以毫秒或纳秒级别提供精确时间。

2.2 UTC时间

系统时间通常使用协调世界时(UTC)表示。UTC是一种基于原子时钟的时间标准,全球各地的科学家通过精密测量来维护它。它与格林尼治标准时间(GMT)非常接近,但不受地球自转速度变化的影响。

在Unix和类Unix系统中,date命令可以用来查询和设置系统时间:

# 查询系统时间(UTC)

date -u

# 查询本地时间(由系统时间UTC和时区共同决定)

date

# 设置本地时间(后面那串是本地时间)(设置本地时间会同样设置系统时间,只不过会自动帮你做时区转换)

date -s "2022-01-01 00:00:00"

# 直接设置系统时间(不推荐,一般通过设置本地时间来设置系统时间,因为这样设置你还得把后面那串时间计算一下时区)

date -u -s "2022-01-01 00:00:00"

在Windows系统中,可以通过日期和时间设置对话框或time命令查询和设置系统时间。

posted @ 2024-01-10 14:48  轻轻的吻  阅读(127)  评论(0编辑  收藏  举报