timedatectl是用來查詢和修改系統(tǒng)時間和配置的Linux應(yīng)用程序。它是systemd 系統(tǒng)服務(wù)管理的一部分,并且允許你檢查和修改系統(tǒng)時鐘的配置。
在這篇文章中,我們將涉及該小巧但十分重要應(yīng)用程序的所有方面。

系統(tǒng)當(dāng)前的時間狀態(tài)
想要查看系統(tǒng)當(dāng)前日期/時間,以及可使用不帶任何參數(shù)的命令查看當(dāng)前系統(tǒng)時間配置,可以這樣:
# timedatectl
輸入的結(jié)果就像這樣:

修改日期
想要修改系統(tǒng)日期,你可以簡單地使用timedatectl設(shè)置時間命令,緊隨命令的是YYYY-MM-DD格式的日期,YYYY代表年,MM代表2位數(shù)字的月份,DD代表2位數(shù)字的天。舉個例子,如果你想把日期改為2015年2月4號,你應(yīng)該使用下面的命令:
# timedatectl 2015-02-04
修改時間
想要修改時間,你可以以相同的方式使用該工具,但是使用的格式為HH:MM:SS,HH代表24小時制的時鐘,MM代表分鐘,SS代表秒鐘。想將當(dāng)前時間設(shè)為22:04:43,使用下面的命令:
# timedatectl 22:04:43
修改時區(qū)
設(shè)置正確的時區(qū)是保持時間同步的關(guān)鍵,特別是在你使用NTP協(xié)議同步的時候。首先,你應(yīng)該使用list-timezones選項列出你所在區(qū)域的可用時區(qū),你也可以使用grep和more來讓格式方便閱讀:
# timedatectl list-timezones | grep America | more
這將顯示一個簡單的滾動列表格式。
之后,你就會知道你想設(shè)置的時區(qū)是如何命名的,然后使用下面的命令修改它:
# timedatectl set-timezone America/Los_Angeles
設(shè)置本地時鐘
實時時鐘(RTC),通常被稱為硬件時鐘,完全獨(dú)立于操作系統(tǒng)當(dāng)前狀態(tài),甚至可以在計算機(jī)關(guān)閉的時候工作。你可以配置系統(tǒng)使用國際時間(UTC)或當(dāng)?shù)貢r間來校正RTC。注意,使用當(dāng)?shù)貢r區(qū)校正RTC并沒有完美支持,而且還有可能因為時區(qū)變化和夏令時調(diào)整引起許多問題。如果有可能,在UTC模式下校正RTC。這一做法的唯一問題是,其他操作系統(tǒng)可能不完全支持它(如果你在同一臺機(jī)器上運(yùn)行2個操作系統(tǒng)的話)。
使用UTC模式校正RTC,使用下面的命令:
# timedatectl set-local-rtc 0
使用當(dāng)?shù)貢r間校正,使用:
# timedatectl set-local-rtc 1
設(shè)置NTP同步
網(wǎng)絡(luò)時間協(xié)議(NTP)是在分組交換、可變數(shù)據(jù)延遲的計算機(jī)系統(tǒng)間進(jìn)行時鐘同步的網(wǎng)絡(luò)協(xié)議。NTP被設(shè)計使用幾毫秒的協(xié)調(diào)通用時間(UTC)來同步所有參與的計算機(jī)。如果你希望設(shè)置NTP同步,你可以使用set-ntp選項設(shè)置。使用“no”關(guān)閉NTP同步,使用“yes”開啟。
# timedatectl set-ntp yes