date -d '上一个星期一" 显示前一个星期一

date -d '上一个星期一" 显示前一个星期一

可以date -d显示未来或下一个日期

$ date -d "next mon"
Mon May 13 00:00:00 CST 2019

$ date -d "mon"
Mon May 13 00:00:00 CST 2019

不幸的是,它无法显示前一个工作日

$ date -d "previous Monday"
date: invalid date ‘previous Monday’

如何以字符串格式显示前一个工作日?

答案1

使用last而不是previous

$ date -d "last Monday"
Mon May  6 00:00:00 BST 2019

这在 中有记录info date,具体提到last是在“29.6 星期几项目”部分(感谢@Jos 和@hobbs 找到它):

可以在星期几项前面加上数字,以向前移动补充的星期数。最好用“第三个星期一”这样的表达方式。在这种情况下,“最后一天”或“第二天”也是可以接受的;它们会在该天本身所代表的日期之前或之后移动一周。

相关内容