获取当前周的星期一 linux 日期

Get monday of the currentweek with linux date

我正在编写一个 bash 脚本,我需要本周星期一的日期。

date -d monday

returns 如果是星期一,则为正确的日期。并且

date -d last-monday

returns 周二到周日的正确日期。

我可以在脚本中使用 if 子句,但我对是否也有 oneliner 感兴趣?

假设一周从星期日开始,怎么样:

date -d "$(( 1 - $(date +%w) )) days"
date -d "next-monday - 7 days"

date -d "$(($(date +%u) -1)) days ago"


# today
date  +%Y%m%d
20220524

# Monday
$ date -d "next-monday - 7 days" +%Y%m%d
20220523
# or
$ date -d "$(($(date +%u) -1)) days ago" +%Y%m%d
20220523