date -d 'previous Monday' 显示前一个星期一

Ali*_*ice 10 bash

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

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

$ date -d "mon"
Mon May 13 00:00:00 CST 2019
Run Code Online (Sandbox Code Playgroud)

不幸的是,它未能显示前一个工作日

$ date -d "previous Monday"
date: invalid date ‘previous Monday’
Run Code Online (Sandbox Code Playgroud)

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

ter*_*don 14

使用last代替previous

$ date -d "last Monday"
Mon May  6 00:00:00 BST 2019
Run Code Online (Sandbox Code Playgroud)

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

可以在一周中的某天之前添加一个数字以向前移动补充周。它最适合用于像“第三个星期一”这样的表达。在这种情况下,“最后一天”或“第二天”也是可以接受的;他们在当天本身所代表的那一天之前或之后一周移动。