Linux 中的 date 命令用於顯示或設置系統日期和時間。 它允許用戶以各種格式顯示時間併計算過去和未來的日期。
在本教程中,我們將了解 日期命令 在 Linux 中 使用示例.
如何使用 Linux date 命令?
Linux終端上date命令的語法如下:
date [option]... [+format]
默認情況下,date 命令以系統配置的時區打印日期。 要更改日期和時間,您應該需要一個具有 root 或 sudo 特權。
顯示日期
當 date 命令在沒有任何選項和參數的情況下使用時,它以默認格式顯示當前日期和時間,如下所示:
$ date
輸出顯示星期幾、月份的日期、當前月份、年份、當前時間和帶年份的時區。 date 命令顯示在您的操作系統上設置的默認時區。
顯示未來日期
日期字符串 -d 或 –date 選項允許您打印未來或即將到來的日期。 要打印未來的日期,請在字符串中鍵入值,例如“下週五”、“明天”或類似內容等。
為了 example, 要打印明天的日期,請鍵入以下命令:
$ date -d ”tomorrow”

顯示下一個星期五的日期:
$ date -d "next Friday"

顯示過去的日期
使用 -d 選項,您可以在 Linux 系統上顯示過去的日期。 日期字符串允許您輸入諸如“昨天”、“星期六”、“上週五”、“3 年前”或類似的值。 因此,通過使用以下日期字符串,您可以顯示過去的日期:
$ date -date "1 year ago"

要顯示昨天的日期,請在 date 命令中使用以下字符串:
$ date -d ”yesterday”

同樣,要顯示上週五的日期,請運行以下命令:
$ date -d ”last Friday”

日期命令格式選項
Linux date 命令顯示的終端輸出可以使用格式控製字符進行格式化,這些字符前面帶有一個“+”符號。 所有這些格式控件都以 ‘%’ 符號開始,然後是它們的值。
為了 example,我們想按以下方式格式化 date 命令的輸出:
$ date +"Year: %Y, Month: %m, Day: %d"

使用以下最常見的格式化字符列表,您可以以所需的格式顯示輸出:
- %a – 以短格式打印工作日名稱(例如,Mon)
- %A – 用於顯示完整的工作日名稱(例如,星期一)
- %b – 以簡短形式顯示月份名稱(例如,Jan)
- %B – 用於顯示完整月份的名稱(例如,一月)
- %d – 顯示月份的日期(例如,05)
- %H – 顯示小時 (00..23)
- %I – 以 (01..12) 格式顯示小時
- %j – 顯示一年中的第幾天 (001..366)
- %m – 以數字顯示月份 (01..12)
- %M – 在 00..59 秒內打印分鐘數。
- %S – 顯示秒數 (00..60)
- %u – 顯示星期幾 (1..7)
- %Y – 用於顯示全年(例如,2019)
使用以下命令,您可以瀏覽 date 命令的格式選項的完整列表:
$ date --help
$ man date
從字符串值顯示日期
-date 或 -d 選項允許您顯示特定日期。 要顯示日期字符串中的特定日期,請指定一個人類可讀格式的日期字符串,如以下命令:
$ date -d "2020-10-09 10:22:47"

使用 -d 選項,您還可以按如下方式以自定義格式顯示日期:
$ date -d '12 Jan 2021' +'%A, %d %B %Y'

顯示文件的最後修改時間
有時,我們需要查看文件的最後修改時間。 Linux 系統中的 date 命令可以幫助您打印文件的最後修改時間。 當您使用後跟“-r”選項的 date 命令時,它會打印文件的最後修改時間。
為了 example, 要顯示“/etc/hosts”文件的最後修改日期,請使用以下命令:
$ date -r /etc/hosts

用於設置時區的日期命令
date 命令顯示在“/etc/localtime”文件中定義的系統默認時區。 但是,要打印不同國家/地區的時區,請將“TZ”環境變量設置為所需的時區。
通過運行以下命令查看所有可用的時區列表:
$ timedatectl list-timezones

為了 example, 要設置時區以顯示悉尼到澳大利亞的時間,請運行以下命令:
$ TZ='Australia/Melbourne' date

用作時代轉換器
date 命令也可用作紀元轉換器。 紀元以 1975 年 2 月 2 日 00:00:00 UTC 以來經過的秒數顯示時間。 要顯示到當前日期經過的時間(以秒為單位),請使用 date 命令和格式控件 %s:
$ date +%s

為了 example, 要查看從一個紀元到特定日期經過的秒數,請使用以下命令:
$ date -d "1980-10-25" +"%s"

將日期與其他命令一起使用
Linux 系統中的“date”命令可以與其他命令一起實現,以創建包含有關當前日期和時間的信息的各種文件名。
我們在以下創建了 example 使用下面給定的命令創建一個新的 SQL 備份文件:
$ mysqldump database_name > database_name-$(date +%Y%m%d).sql
date 命令也可以在 shell 腳本中使用。 在下面的 example,我們將日期命令輸出分配給一個新變量“date_now”。
$ date_current=$(date "+%F-%H-%M-%S")
$ echo $date_current

在 Linux 中設置日期
使用 date 命令可以手動設置 Linux 系統的日期。
為了 example, 手動設置 Linux 系統的日期和時間為 2021 年 10 月 13 日下午 2:30。運行以下命令:
$ date --set="20211013 05:30"

大多數 Linux 發行版系統時間默認與 NTP 或 timedatectl / timesyncd 同步。 所以不用太擔心改變它。
結論
我們提供了有關如何在 Linux 系統上使用 date 命令的教程。 要了解有關 date 命令的更多信息,請訪問 date 命令手冊頁.