获取星期一和星期日等等一周的任何日期作为Unix中的参数

May*_*Roy 3 unix linux shell centos unix-timestamp

如何在一周内获得星期一和星期日的约会日期?

这给出了'last'星期一的日期:

date -dlast-monday +%Y%m%d
Run Code Online (Sandbox Code Playgroud)

我想传递一个日期作为参数来查找该周的周一和周日.基本上,我希望周日和周一可以获得一周,任何日期,不仅仅是上周一.

Alf*_*lfe 8

试试这个:

export day=2013-10-01
date -d "$day -$(date -d $day +%w) days"
Run Code Online (Sandbox Code Playgroud)

这将始终打印在给定日期(或日期本身)之前的星期日.

date -d "$day -$(date -d $day +%u) days"
Run Code Online (Sandbox Code Playgroud)

这将始终打印给定日期之前的星期日(而不是日期本身).

对于星期一,您需要添加+ 1 day:

date -d "$day -$(date -d $day +%u) days + 1 day"
Run Code Online (Sandbox Code Playgroud)

您还应该考虑您希望获得的星期一或星期日(这不是很清楚).这也取决于您是否将星期日视为一周的第一天或最后一天.