当前位置:首页>Linux>深入理解 Linux 中的时间管理:硬件时间、系统时间、本地时间、时区与夏令时

深入理解 Linux 中的时间管理:硬件时间、系统时间、本地时间、时区与夏令时

  • 2026-08-23 05:14:28
深入理解 Linux 中的时间管理:硬件时间、系统时间、本地时间、时区与夏令时
大家好!我是大虫子🐛!
小编这篇文章将详细介绍 Linux 硬件时间、系统时间(UTC时间)、本地时间、时区和夏令时这些概念。时间的概念在 Linux 中是很重要,比如日志时间戳、定时任务 crontab、数据库事务、SSL 证书有效期、网络报文时序等等。
希望这篇文章能帮助大家更好地理解这些概念~
1、硬件时间(RTC time)
1.1 概述
硬件时间(也称为实时时钟,RTC - Real Time Clock)是计算机主板上的一个电池供电的时钟芯片。它负责在计算机关闭或断电时继续跟踪时间。硬件时间的特点包括:
  • 独立性:硬件时间在计算机关机时仍然保持运行,这使得系统重启后能够恢复到上次关闭时的时间。
  • 设置方法:硬件时间可以通过 BIOS 设置界面进行调整,通常是在计算机启动时按特定键进入 BIOS 设置。
  • 格式:硬件时间通常以 UTC(协调世界时间)格式存储。
1.2 怎么使用硬件时间
大部分操作系统在启动时会从RTC读取时间,然后设置系统时间。同样,操作系统也可以将系统时间写回到RTC中。
在Unix和类Unix系统中,hwclock命令可以用来查询和设置RTC时间。例如:
# 查询硬件时间hwclock --show# 将系统时间设置为硬件时间hwclock --systohc# 将硬件时间设置为系统时间hwclock --hctosys
2、系统时间(UTC时间)
2.1 概述
系统时间是操作系统内部维护的时间,它通常在系统启动时从硬件时间读取,并在系统运行期间持续更新。系统时间的特点包括:
  • 运行时更新:当系统处于运行状态时,内核会不断更新系统时间,以反映当前的时间。
  • 格式:系统时间也通常使用 UTC 格式,但可以通过设置本地时区来显示为本地时间。
2.2 怎么使用系统时间
系统时间通常使用协调世界时(UTC)表示。UTC是一种基于原子时钟的时间标准,全球各地的科学家通过精密测量来维护它。它与格林尼治标准时间(GMT)非常接近,但不受地球自转速度变化的影响。
在Unix和类Unix系统中,date命令可以用来查询和设置系统时间:
# 查询系统时间(UTC)date -u# 查询本地时间(由系统时间UTC和时区共同决定)date# 设置本地时间(后面那串是本地时间)(设置本地时间会同样设置系统时间,只不过会自动帮你做时区转换)date -s "2026-01-01 00:00:00"# 直接设置系统时间(不推荐,一般通过设置本地时间来设置系统时间,因为这样设置你还得把后面那串时间计算一下时区)date -u -s "2026-01-01 00:00:00"
3. 本地时间(Local time)
3.1 概述
本地时间是基于用户所设定的时区对系统时间进行转换后的时间。它反映了用户所在地区的时间。相关的特点包括:
  • 时区影响:本地时间由系统时间和设置的时区决定。不同地区的用户可以根据自己的需求设置不同的时区。
  • 命令查看:使用 date 命令同样可以查看本地时间。系统会自动根据时区配置转换显示。
3.2 怎么使用本地时间
在Unix和类Unix系统中,date命令默认显示的是本地时间:
date +"%Y-%m-%d%H:%M:%S%Z"
4. 时区(Time zone)
4.1 概述
时区是指地球上某个区域所采用的标准时间。因为地球的自转,世界各地的时间并不相同。以下是有关时区的一些重要信息:
  • UTC 与 GMT:UTC(协调世界时间)是国际标准时间,而 GMT(格林威治时间)是英国标准时间。尽管两者有细微的差别,但在很多情况下可以互换使用。
  • 区域划分:世界被划分为多个时区,每个时区通常相差一个小时(如 UTC+1、UTC-5 等)。
4.2 怎么设置时区
在Unix和类Unix系统中,可以使用tzselect命令选择时区,然后将选定的时区链接到/etc/localtime:
# 选择时区tzselect# 设置时区ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
也可以使用 timedatectl 命令,例如:
# 列出所有可用的时区timedatectl list-timezones# 设置时区sudo timedatectl set-timezone Asia/Shanghai
5. 夏令时
夏令时(Daylight Saving Time, DST)是一种在夏季月份将时钟拨快一小时的做法,旨在更有效地利用日光。主要特点包括:
  • 实施地区:并不是所有地方都实施夏令时。主要在北美和欧洲等地区使用。
  • 时间调整:夏令时通常在春季的某个时刻开始(如三月的第二个星期日),在秋季结束(如十一月的第一个星期日)。
  • 自动调整:在 Linux 系统中,如果安装了支持夏令时的时区文件,系统会自动处理夏令时的转换。
Linux 中这些概念可以帮助用户更好地配置和管理系统时间,确保时间的准确性和一致性。通过使用相应的命令和工具,用户可以方便地查看和设置系统时间,适应不同地区和需求的时间管理。

最新文章

随机文章