timedatectl是Linux下的一条命令,用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。这篇文章简单介绍一下如何使用timedatectl进行常见操作。
基础知识
关于RTC/系统时钟/NTP/时区等基本信息和设定的介绍,可参看如下文章,本文不再赘述。
常见用法
使用timedatectl可以进行如下常见操作
- 查看当前时间/日期/时区:timedatectl或者timedatectl status
- 查看所有可用时区:timedatectl list-timezones
- 设置时区:timedatectl set-timezone “时区信息”
- 设置UTC:timedatectl set-timezone UTC
- 设置时间:timedatectl set-time HH:MM:SS
- 设置日期:timedatectl set-time YYYY-MM-DD
- 设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
- 设置硬件时钟为本地时间:timedatectl set-local-rtc 1
- 设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
- 启动NTP时间同步(启用NTP服务或者Chrony服务):timedatectl set-ntp true
- 禁用NTP时间同步:timedatectl set-ntp false
使用示例
查看当前时间/日期/时区
命令:timedatectl或者timedatectl status
- 执行示例
[root@platform ~]# timedatectl status
Local time: Fri 2019-03-08 06:07:19 EST
Universal time: Fri 2019-03-08 11:07:19 UTC
RTC time: Fri 2019-03-08 09:41:48
Time zone: America/New_York (EST, -0500)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2018-11-04 01:59:59 EDT
Sun 2018-11-04 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2019-03-10 01:59:59 EST
Sun 2019-03-10 03:00:00 EDT
[root@platform ~]#
查看所有可用时区
命令:timedatectl list-timezones
- 执行示例
[root@platform ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
lines 1-29
设置时区
命令:timedatectl set-timezone “时区信息”
- 执行示例
[root@platform ~]# timedatectl set-timezone "Asia/ShangHai"
Failed to set time zone: Invalid time zone 'Asia/ShangHai'