CentOS7提供三個命令行工具,可用於配置和顯示有關係統日期和時間的信息。bash
timedatectl:
Linux 7中的新增功能,也是systemd其中的一部分。
timedatectl
命令timedatectl
[root@zydev ~]# timedatectl Local time: Mon 2017-11-06 01:22:46 CST #中部標準時間,UTC+8 Universal time: Sun 2017-11-05 17:22:46 UTC RTC time: Sun 2017-11-05 17:22:46 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a
改變ntpd和chrony狀態不會當即生效,須要執行:服務器
systemctl restart systemd-timedated.service
該命令同時更新系統時間和硬件時鐘。其結果相似於使用date --set
和hwclock --systohc
命令。若是NTP
啓用服務,該命令將失敗。app
[root@zydev ~]# timedatectl set-time 23:06:45 [root@zydev ~]# timedatectl Local time: Mon 2017-11-06 23:06:51 CST Universal time: Mon 2017-11-06 15:06:51 UTC RTC time: Mon 2017-11-06 15:06:51 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a
默認狀況下,系統配置硬件時鐘使用UTC,若是要配置爲當地時間,加上參數set-local-rtc
工具
timedatectl set-local-rtc boolean
更換布爾爲yes或者no,默認是no
spa
timedatectl set-time YYYY-MM-DD
請注意,更改日期而不指定當前時間會致使將時間設置爲00:00:00。命令行
要將當前日期更改成2017年6月2日並保持當前時間(下午11:26)rest
timedatectl set-time 」2017-06-02 23:26:00」
列出時區code
timedatectl list-timezones|grep Asia
更改時區爲香港orm
timedatectl set-timezone Asia/Hong_Kong
timedatectl
命令還容許您使用該NTP
協議啓用系統時鐘與一組遠程服務器的自動同步。啓用NTP將啓用chronyd
或ntpd
服務,具體取決於它們中的哪個被安裝。blog
timedatectl set-ntp boolean
啓用同步
[root@zydev ~]# timedatectl set-timezone Asia/Hong_Kong
[root@zydev ~]# timedatectl
Local time: Mon 2017-11-06 23:22:07 HKT
Universal time: Mon 2017-11-06 15:22:07 UTC
RTC time: Mon 2017-11-06 15:22:07
Time zone: Asia/Hong_Kong (HKT, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
[root@zydev ~]# timedatectl set-ntp yes
[root@zydev ~]# timedatectl
Local time: Mon 2017-11-06 23:24:14 HKT
Universal time: Mon 2017-11-06 15:24:14 UTC
RTC time: Mon 2017-11-06 15:24:14
Time zone: Asia/Hong_Kong (HKT, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
缺省狀況下,date
顯示本地時間。要顯示在UTC的時間,運行與所述命令--utc
或-u
命令
[root@zydev ~]# date Mon Nov 6 23:34:09 HKT 2017 [root@zydev ~]# date -u Mon Nov 6 15:34:13 UTC 2017
能夠經過在命令行上提供選項來自定義顯示信息的格式: +"format"
控制序列 | 描述 |
---|---|
%H |
HH格式的小時(例如17 )。 |
%M |
MM格式的分鐘(例如30 )。 |
%S |
第二個是SS格式(例如24 )。 |
%d |
DD格式的月份中的某一天(例如,16 )。 |
%m |
MM格式的月份(例如09 )。 |
%Y |
YYYY格式的年份(例如2016 )。 |
%Z |
時區縮寫(例如,CEST )。 |
%F |
YYYY-MM-DD格式的完整日期(例如2016-09-16 )。這個選項等於%Y-%m-%d 。 |
%T |
全時以HH:MM:SS格式(例如,17 :30: 24)。這個選項等於%H:%M:%S |
更改時間
date -s 23:43:45
同時更改時間和日期
要將當前日期更改成2017年6月2日並保持當前時間(下午11:26)
date -s "2017-06-02 23:26:00"
更改日期而不指定當前時間會致使將時間設置爲00:00:00
顯示硬件時鐘當前時間
[root@app-01 ~]# hwclock Tue 07 Nov 2017 11:42:15 AM CST -0.269798 seconds
將硬件時鐘設置爲特定日期和時間,並將硬件時鐘保持爲UTC
hwclock --set --date "21 Oct 2016 21:17" --utc
硬件時鐘與系統時間同步,並設置爲UTC時間
hwclock --systohc --utc
硬件時鐘與系統時間同步,並設置爲本地時間
hwclock --systohc --localtime