Linux时间和时区说明

本文主要介绍Linux操作系统中时间和时区相关的基本概念与操作,并介绍部分阿里云Linux公共镜像中时钟配置的相关变化。

背景信息

Linux操作系统中时间和时区相关的基本概念如下表所述:

基本概念

说明

时钟

Linux时钟分为以下两种:

  • 硬件时钟(Real Time Clock,简称RTC):由物理层面的主板上电池供电的时钟,该硬件时钟可以在Linux的BIOS(Basic Input/Output System)中进行设置。

  • 系统时钟(System Clock):Linux内核中的时钟。当Linux系统启动时,根据硬件时钟和/etc/adjtime中的内容来计算系统时钟的初始值,启动完成后,系统时钟独立于硬件时钟运行。Linux内核通过计数定时器中断来跟踪系统时钟。

时间标准

Linux内的时间标准分为以下两种:

  • localtime标准:基于操作系统所在本地时区的时间标准。

  • UTC(Coordinated Universal Time)标准:与时区无关的全球时间标准。

时间相关操作

  • 运行以下命令,可以查看当前Linux系统内的时间设置。

    timedatectl status

    返回结果示例如下图所示,您可以查看Linux系统内的本地时间、全球标准时间、RTC时间以及时区等信息。查看时间

  • 通过timedatectl命令设置硬件时钟的时间标准。

    • 将硬件时钟的时间标准设置为localtime:

      timedatectl set-local-rtc 1

      当硬件时钟的时间标准为localtime时,通过timedatectl status命令查看时间设置中的RTC in local TZ参数值为yes

    • 将硬件时钟的时间标准设置为UTC:

      timedatectl set-local-rtc 0

      当硬件时钟的时间标准为UTC时,通过timedatectl status命令查看时间设置中的RTC in local TZ参数值为no

说明

/etc/adjtime文件是同步系统时钟的配置文件。上述操作命令会自动更新/etc/adjtime文件,因此您无需单独对该文件进行设置。

阿里云RTC时钟使用UTC时间标准的公共镜像列表

阿里云公共镜像中的RTC时钟默认使用localtime时间标准,但您需要注意,在最新发布的公共镜像中,阿里云已把RTC时钟默认使用的localtime时间标准修改为UTC时间标准,且该类镜像的后续版本会保持RTC时钟使用UTC时间标准。关于RTC时钟使用UTC时间标准的公共镜像发布的更多信息,请参见: