2017-09-03 41 views
1

给定日期从给定的日期%间%D-%Y格式,我们应该确定今天是什么日子 请帮我用命令我们怎样才能获得基于UNIX中

就像如果我通过平日像2017年9月1日输出的日期应该是周五

回答

1
DayOfWeek=$(date +%A) 

这将产生monday-sunday周 当天如果输入的日期是严格的格式MM-DD-YYYY,请使用以下

IFS='-' read -ra ADDR <<< "09-01-2017" 
formattedDate=${ADDR[2]}-${ADDR[0]}-${ADDR[1]} 
date -d $formattedDate +%A 

第一行标记化的日期部件和第二重新排列它们

+0

一样,如果我通过像2017年9月1日输出的日期应该是周五 –

+0

@DivyaS这就够了? –

0

如果你有你的约会对象是这样的:

d="09-01-2017" 

您需要重新格式化为“YYYY-MM-DD”

date -d $(echo $d|awk -F- '{print $3 "-" $1 "-" $2}') +%A # DOW 
+0

+ A将输出'星期五' –

1

很简单。只需使用带有正确选项的日期命令本身即可。

$ date -j -f '%m-%d-%Y' "09-01-2017" +'%A' 
Friday 
+0

既然这既不是GNU'date'或BSD'date',你可能想指定它是什么'date'。我在猜测macOS? – Kusalananda

+0

是的,正确的MAC OS。 – nagendra547