设置日期和时间
本节介绍如何通过timedatectl、date、hwclock命令来设置系统的日期、时间和时区等。
使用timedatectl命令设置
- 显示日期和时间
1# timedatectl

- 通过远程服务器进行时间同步
您可以启用NTP远程服务器进行系统时钟的自动同步。是否启用NTP,可在root权限下执行如下命令进行设置。其中boolean可取值yes和no,分别表示启用和不启用NTP进行系统时钟自动同步,请根据实际情况修改。
说明:
若启用了NTP远程服务器进行系统时钟自动同步,则不能手动修改日期和时间。若需要手动修改日期或时间,则需确保已经关闭NTP系统时钟自动同步。可执行timedatectl set-ntp no命令进行关闭。
Plain Text1# timedatectl set-ntp boolean
例如开启自动远程时间同步,命令如下:
1# timedatectl set-ntp yes
- 修改日期
- 修改日期前,请确保已经关闭NTP系统时钟自动同步。
-
修改当前的日期,在root权限下执行如下命令,其中YYYY代表年份,MM代表月份,DD代表某天,请根据实际情况修改:
Plain Text1# timedatectl set-time YYYY-MM-DD例如修改当前的日期为2019年8月14号,命令如下:
Plain Text1# timedatectl set-time '2019-08-14'
- 修改时间
- 修改时间前,请确保已经关闭NTP系统时钟自动同步。
-
修改当前的时间,在root权限下执行如下命令,其中HH代表小时,MM代表分钟,SS代表秒,请根据实际情况修改:
Plain Text1# timedatectl set-time HH:MM:SS例如修改当前的时间为15点57分24秒,命令如下:
Plain Text1# timedatectl set-time 15:57:24
- 修改时区
1# timedatectl list-timezones
要修改当前的时区,在root权限下执行如下命令,其中time_zone是您想要设置的时区,请根据实际情况修改:
1# timedatectl set-timezone time_zone
例如修改当前的时区,首先查询所在地域的可用时区,此处以Asia为例:
1# timedatectl list-timezones | grep Asia

然后修改当前的时区为“Asia/Shanghai”,命令如下:
1# timedatectl set-timezone Asia/Shanghai
使用date命令设置
显示当前的日期和时间,命令如下:
1# date
默认情况下,date命令显示本地时间。要显示UTC时间,添加--utc或-u参数:
1# date --utc
要自定义对应的输出信息格式,添加+“format”参数:
1# date +"format"
参数说明
| 格式参数 | 说明 |
|---|---|
| %H | 小时以HH格式(例如 17) |
| %M | 分钟以MM格式(例如 37) |
| %S | 秒以SS格式(例如 25) |
| %d | 日期以DD格式(例如 15) |
| %m | 月份以MM格式(例如 07) |
| %Y | 年份以YYYY格式(例如 2019) |
| %Z | 时区缩写(例如 CEST) |
| %F | 日期整体格式为YYYY-MM-DD(例如 2019-7-15),等同%Y-%m-%d |
| %T | 时间整体格式为HH:MM:SS(例如 18:30:25),等同%H:%M:%S |
实际使用示例如下:
- 显示当前的日期和本地时间。
1# date
2Fri Dec 5 08:31:08 PM CST 2025
- 显示当前的日期和UTC时间。
1# date --utc
2Fri Dec 5 12:31:34 PM UTC 2025
- 自定义date命令的输出。
1# date +"%Y-%m-%d %H:%M"
22025-12-05 20:32
- 修改时间
要修改当前的时间,添加--set或者-s参数。在root权限下执行如下命令,其中HH代表小时,MM代表分钟,SS代表秒,请根据实际情况修改:
1# date --set HH:MM:SS
默认情况下,date命令设置本地时间。要设置UTC时间,添加--utc或-u参数:
1# date --set HH:MM:SS --utc
例如修改当前的时间为23点26分00秒,在root权限下执行如下命令:
1# date --set 23:26:00
- 修改日期
修改当前的日期,添加--set或者-s参数。在root权限下执行如下命令,其中YYYY代表年份,MM代表月份,DD代表某天,请根据实际情况修改:
1# date --set YYYY-MM-DD
例如修改当前的日期为2025年12月2日,命令如下:
1# date --set 2025-12-02
使用hwclock命令设置
可以使用hwclock命令设置硬件时钟RTC(Real Time Clock)。
Linux将时钟分为:
- 系统时钟(System Clock):当前Linux Kernel中的时钟。
- 硬件时钟RTC:主板上由电池供电的主板硬件时钟,该时钟可以在BIOS的“Standard BIOS Feature”项中进行设置。
当Linux启动时,会读取硬件时钟,并根据硬件时间来设置系统时间。
- 显示日期和时间
显示当前硬件的日期和时间,在root权限下执行如下命令:
1# hwclock
例如显示当前硬件的日期和时间,命令和输出如下:
1# hwclock
22025-12-09 00:42:18.996052+08:00
- 设置日期和时间
修改当前硬件的日期和时间,在root权限下执行如下命令,其中dd表示日,mm表示月份,yyyy表示年份,HH表示小时,MM表示分钟,请根据实际情况修改:
1# hwclock --set --date "dd mm yyyy HH:MM"
例如修改当前的时间为2019年10月21日21点17分,命令如下:
1# hwclock --set --date "21 Oct 2019 21:17" --utc
评价此篇文章
