使用Linuxdate命令获取下周二和周三

在Linux shell中,您可以执行如下操作:

date -d "next Tuesday" 

下个星期二。

我的问题是这样的:我想获得下周的星期二。 所以,如果我现在在星期一,我希望它可以提前7天到下周,然后评估“下个星期二”。 有没有办法链接date评估?

为了进一步说明,如果我在星期三,那么下周的星期二就是六天

date比你想象的更聪明

 ~: date -d "next tuesday" Tue Feb 2 00:00:00 GMT 2016 ~: date -d "1 week next tuesday" Tue Feb 9 00:00:00 GMT 2016 ~: 

如果你想获得下周的星期二,你可以找到下周的开始,然后添加一天

 ~: date -d "1 day next monday" Tue Feb 2 00:00:00 GMT 2016 

如果你希望它稍微清晰,你可以使用

 ~: date -d "next Monday + 1 day" Tue Feb 2 00:00:00 GMT 2016 

基于Charles Duffy的评论,在我的机器上可能值得注意

 ~: date --version #on RHEL6 date (GNU coreutils) 8.4 <license stuff (GPLv3)> 

要可靠地做到这一点的唯一方法是首先获得下一个“星期几开始”(每个地区可能不同,因此我假设这是星期天),然后在未来的0-6天内要求一天,其中0至6分别代表周日到周六。

 $ bow=$(date -d "next Sunday") $ date -d "$bow + 0 days"