在本小节中,我们将了解日期命令的可用格式选项,并了解如何与Bash脚本一起使用。
Bash日期
Bash Shell提供了不同的日期命令以及不同的格式选项。我们可以使用这些命令将Bash日期格式化为所需的日期。
Bash日期命令
可以使用date命令来显示或更改系统的当前日期和时间值。使用date命令以不同的格式打印日期和时间值。我们还可以使用此命令来计算与日期和时间值相关的任务。如果不带任何选项使用date命令,它将打印当前系统的日期和时间值。此命令包含多个格式化选项以格式化输出。
date命令的语法如下:
$ date
使用选项格式化日期
如上所述,可以格式化Bash日期。还可以使用空格在格式中。
date命令可以接受选项,例如:
$ date +
如果要用空格格式化日期,可以使用以下语法:
$ date '+'
Bash日期格式选项列表
可以使用不同类型的格式代码或字符,可以与日期选项一起使用以生成格式输出。以下是日期命令的一些常见选项和格式代码的列表:
选项
描述
-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,并执行得到以下结果:
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。