在本小節中,我們將了解日期命令的可用格式選項,並了解如何與Bash指令碼一起使用。
Bash Shell提供了不同的日期命令以及不同的格式選項。我們可以使用這些命令將Bash日期格式化為所需的日期。
可以使用date
命令來顯示或更改系統的當前日期和時間值。使用date
命令以不同的格式列印日期和時間值。我們還可以使用此命令來計算與日期和時間值相關的任務。如果不帶任何選項使用date
命令,它將列印當前系統的日期和時間值。此命令包含多個格式化選項以格式化輸出。
date
命令的語法如下:
$ date
如上所述,可以格式化Bash日期。還可以使用空格在格式中。
date
命令可以接受選項,例如:
$ date +<format-option-codes><format-option-codes>
如果要用空格格式化日期,可以使用以下語法:
$ date '+<format-option-codes><format-option-codes> <format-option-codes>'
可以使用不同型別的格式程式碼或字元,可以與日期選項一起使用以生成格式輸出。以下是日期命令的一些常見選項和格式程式碼的列表:
選項 | 描述 |
---|---|
-d 或 -date= String |
用於顯示由字串值設定的時間。 |
-s , -set=String |
用於設定由字串值設定的時間。 |
-f 或 -file=DateFile |
用於處理多個日期。 |
-I 或 -iso-8601[=Timespec] |
用於生成符合ISO 8601的日期/時間字串輸出。 |
-r 或 -reference=File |
用於列印檔案的最後修改時間。 |
-u , -utc , -universal |
用於列印或設定世界標準時間。 |
-help |
用於獲取此命令的幫助。 |
-version |
用於獲取版本資訊。 |
格式化選項程式碼
帶程式碼的格式選項 | 日期的一部分 | 描述 | 輸出範例 |
---|---|---|---|
date +%a |
工作日(週一至週五) | 縮寫形式的工作日名稱(例如,Sun,Mon,Tue,Wed,Thu,Fri,Sat) | Mon |
date +%A |
工作日(週一至週五) | 完整格式的工作日名稱(例如,Sunday, Monday, Tuesday等) | Monday |
date +%b |
月份 | 縮寫形式的月份名稱(例如,Jan, Feb, Mar等) | Feb |
date +%B |
月份 | 完整格式的月份名稱(例如,January, February等) | February |
date +%d |
日 | 一個月中的某天 | 28 |
date +%D |
MM/DD/YYYY | 當前的日期; 以MM/DD/YYYY 格式顯示 |
09/21/2019 |
date +%F |
YYYY-MM-DD | 日期; 以YYYY-MM-DD 格式顯示 |
2019-09-21 |
date +%H |
小時 | 24小時製的小時值 | 16 |
date +%I |
小時 | 12小時製的小時值 | 04 |
date +%j |
日 | 一年中的某天(例如001 至 366) | 256 |
date +%m |
月份 | 月份數值(01 至 12,其中01是一月) | 08 |
date +%M |
分鐘 | 分鐘數值(00 至 59) | 12 |
date +%S |
秒鐘 | 秒鐘數值(00 至 59) | 35 |
date +%N |
納秒 | 納秒數值(000000000 至 999999999) | 450261236 |
date +%T |
HH:MM:SS |
格式為HH:MM:SS 的時間(小時,以24格式表示) |
17:58:15 |
date +%u |
星期 | 星期幾(01到07,其中01是星期一) | 05 |
date +%U |
星期數 | 顯示年份的星期數,其中星期日是一週的第一天(00到53) | 24 |
date +%Y |
年份 | 顯示完整的年份(即YYYY) | 2021,2019 |
date +%Z |
時區 | 時區縮寫(例如IST,GMT) | GMT |
我們可以根據需要為date
命令使用上面提到的任何格式(第一列)。
範例1
Bash日期格式MM-DD-YYYY
,要使用MM-DD-YYYY
格式的日期,可以使用命令date +%m-%d-%Y
。
Bash指令碼程式如下:
#!/bin/bash
d=`date +%m-%d-%Y`
echo "Date in format MM-DD-YYYY"
echo $d #MM-DD-YYYY
將上面範例程式碼儲存到檔案:date-example1.sh,並執行得到以下結果:
務必注意格式選項程式碼區分大小寫。在此範例中,使用%m
表示月,使用%d
表示天,使用%Y
表示年。如果使用%M
代替%m
,那麼它將定義為分鐘。
範例2 - Bash日期格式MM-YYYY
要使用MM-YYYY
格式的日期,可以使用命令date +%m-%Y
。
範例程式碼:
#!/bin/bash
d=`date +%m-%Y`
echo "Date in format MM-YYYY"
echo $d # MM-YYYY
將上面範例程式碼儲存到檔案:date-example2.sh,並執行得到以下結果:
範例3 -Bash日期格式工作日DD-月份-YYYY
要使用工作日DD月份,YYYY格式的日期,可以使用命令date +%A %d-%B, %Y
。
Bash指令碼程式
#!/bin/bash
d=`date '+%A %d-%B, %Y'`
echo "Date in format Weekday DD-Month, YYYY"
echo $d # Weekday DD-Month, YYYY
將上面範例程式碼儲存到檔案:date-example3.sh,並執行得到以下結果: