我正在寻找一个直接的 Unix 命令来获得下个月的第一个星期日、下个月的第一个星期一、下个月的第一个星期二、下个月的第一个星期三等等。
我需要完整的日期格式(时间不是强制性的)
我可以得到 2、3、4 等数字。因为我不想要数字,所以我需要日期格式(包括日、月、年)
$ NEXT_MONTH=`date +'%m %Y' -d 'next month'`
$ echo $NEXT_MONTH
04 2017
$ NEXT_SUNDAY=`cal $NEXT_MONTH | awk 'NF==7 && !/^Su/{print $1;exit}'`
$ echo $NEXT_SUNDAY
2
Run Code Online (Sandbox Code Playgroud)我需要这些日期来发送电子邮件组的通知。
例如:我可以得到下个月的第一个星期六,如下所示。
$ firstofmonth=$(date -d '+1 months' '+%Y%m01')
20170401
$ firstsaturday=$(date -d "$firstofmonth" '+%Y-%m')-$((7 - \
$(date -d "$firstofmonth" '+%u') ))
2017-04-1
Run Code Online (Sandbox Code Playgroud)