使用Linux date命令获取下周二和周三

时间:2016-01-27 16:51:08

标签: linux unix

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

date -d "next Tuesday"

下周二来。

我的问题是: 我想在周二的周末获得。因此,如果我目前在星期一,我希望它能在7天前往下周,然后评估“下周二”。有没有办法以某种方式链接日期评估?

进一步详细说明,如果我在星期三,那么下周的星期二就在6天之后

2 个答案:

答案 0 :(得分:4)

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)>

答案 1 :(得分:2)

可靠地做到这一点的唯一方法是首先获得下一个&#34;工作日的开始&#34; (这可能因地区而异;为此我假设它是星期日),然后请求将来0-6天,其中0到6分别代表星期日到星期六。

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