在Linux shell中,您可以执行以下操作:
date -d "next Tuesday"
下周二来。
我的问题是: 我想在周二的周末获得。因此,如果我目前在星期一,我希望它能在7天前往下周,然后评估“下周二”。有没有办法以某种方式链接日期评估?
进一步详细说明,如果我在星期三,那么下周的星期二就在6天之后
答案 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"