给定一个日期,格式为%m-%d-%Y
,我们需要确定是星期几。
例如:对于日期09-01-2017
,输出应该是Friday
。
给定一个日期,格式为%m-%d-%Y
,我们需要确定是星期几。
例如:对于日期09-01-2017
,输出应该是Friday
。
$ date -j -f '%m-%d-%Y' "09-01-2017" +'%A'
Friday
以下是我通常的做法。我会使用日期函数。 你可以执行 'man date' 命令来查找选项。
$ d=2020-08-20 \
$ date -d "$d" +%u \
4 \
$ date -d "$d" +%A \
Thursday
d="09-01-2017"
您需要重新格式化为"YYYY-MM-DD"
date -d $(echo $d|awk -F- '{print $3 "-" $1 "-" $2}') +%A # DOW
DayOfWeek=$(date +%A)
星期一至星期日
。如果您的输入日期严格按照格式 MM-DD-YYYY
,请使用以下格式。IFS='-' read -ra ADDR <<< "09-01-2017"
formattedDate=${ADDR[2]}-${ADDR[0]}-${ADDR[1]}
date -d $formattedDate +%A
$ date --date="`echo 09-01-2017| sed -e 's/-/\//g' `" +'%A'
Friday
要进行验证,请传递%F以获取ISO格式
$ date --date="`echo 09-01-2017| sed -e 's/-/\//g' `" +'%A %F'
Friday 2017-09-01
date +%A
# let us see in a for loop
for i in {1..7}; do date +%A --date=+${i}day; done
Wednesday
Thursday
Friday
Saturday
Sunday
Monday
Tuesday