Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何在Unix中获取每月的第5天和第6天?_Shell_Date_Unix - Fatal编程技术网

Shell 如何在Unix中获取每月的第5天和第6天?

Shell 如何在Unix中获取每月的第5天和第6天?,shell,date,unix,Shell,Date,Unix,是否可以在Unix中获取每月的第5天和/或第6天 我已经尝试过了,但它没有给我想要的输出: echo $((($(date +%-d)-1)/5)) 使用以下命令: for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done 输出: Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday Sun 05 Feb 2017 12:00:00 AM CET - is a Sun

是否可以在Unix中获取每月的第5天和/或第6天

我已经尝试过了,但它没有给我想要的输出:

echo $((($(date +%-d)-1)/5))
使用以下命令:

for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done
输出:

Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday
Sun 05 Feb 2017 12:00:00 AM CET - is a Sunday
Sun 05 Mar 2017 12:00:00 AM CET - is a Sunday
Wed 05 Apr 2017 12:00:00 AM CEST - is a Wednesday
Fri 05 May 2017 12:00:00 AM CEST - is a Friday
Mon 05 Jun 2017 12:00:00 AM CEST - is a Monday
Wed 05 Jul 2017 12:00:00 AM CEST - is a Wednesday
Sat 05 Aug 2017 12:00:00 AM CEST - is a Saturday
Tue 05 Sep 2017 12:00:00 AM CEST - is a Tuesday
Thu 05 Oct 2017 12:00:00 AM CEST - is a Thursday
Sun 05 Nov 2017 12:00:00 AM CET - is a Sunday
Tue 05 Dec 2017 12:00:00 AM CET - is a Tuesday
对于本月的第6个月,它以类似的方式完成。

使用以下方法:

for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done
输出:

Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday
Sun 05 Feb 2017 12:00:00 AM CET - is a Sunday
Sun 05 Mar 2017 12:00:00 AM CET - is a Sunday
Wed 05 Apr 2017 12:00:00 AM CEST - is a Wednesday
Fri 05 May 2017 12:00:00 AM CEST - is a Friday
Mon 05 Jun 2017 12:00:00 AM CEST - is a Monday
Wed 05 Jul 2017 12:00:00 AM CEST - is a Wednesday
Sat 05 Aug 2017 12:00:00 AM CEST - is a Saturday
Tue 05 Sep 2017 12:00:00 AM CEST - is a Tuesday
Thu 05 Oct 2017 12:00:00 AM CEST - is a Thursday
Sun 05 Nov 2017 12:00:00 AM CET - is a Sunday
Tue 05 Dec 2017 12:00:00 AM CET - is a Tuesday

这个月的第六天也是这样做的。

我不确定这是否是你想要的:我假设你想在任何一天得到一个月的第五(或第六)天。如果是这样,您可以利用当前日期获得当月的第5天,如下所示:

dd=`date '+%d'`
if(( $dd > 5 )); then
    (( diff = dd - 5 ))
     myDate=`date -d "-$diff days"`
else
    (( diff = 5 - dd ))
     myDate=`date -d "+$diff days"`
fi

echo $myDate

第六天你也可以这样做。上面的代码应该可以在Linux发行版上运行。

我不确定这是否是您想要的:我假设您希望在任何一天都有一个月的第五天(或第六天)。如果是这样,您可以利用当前日期获得当月的第5天,如下所示:

dd=`date '+%d'`
if(( $dd > 5 )); then
    (( diff = dd - 5 ))
     myDate=`date -d "-$diff days"`
else
    (( diff = 5 - dd ))
     myDate=`date -d "+$diff days"`
fi

echo $myDate
第六天你也可以这样做。以上代码应该可以在Linux发行版上运行