Linux 中的日期命令和用法示例

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”

使用 date 命令顯示上一個日期

日期命令格式選項

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 命令設置時區

用作時代轉換器

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

shell 腳本中的日期命令

在 Linux 中設置日期

使用 date 命令可以手動設置 Linux 系統的日期。

為了 example, 手動設置 Linux 系統的日期和時間為 2021 年 10 月 13 日下午 2:30。運行以下命令:

$ date --set="20211013 05:30"

在 Linux 中設置日期

大多數 Linux 發行版系統時間默認與 NTP 或 timedatectl / timesyncd 同步。 所以不用太擔心改變它。

結論

我們提供了有關如何在 Linux 系統上使用 date 命令的教程。 要了解有關 date 命令的更多信息,請訪問 date 命令手冊頁.