我知道你们中的某些人在想什么:“ That's easy, just use this”
date -dlast-monday +%Y%m%d
但是实际上不是最后星期一。那是最近的星期一,可能用英语描述为“过去的星期一”。
“上周一”通常是指上周的星期一。 date
有什么捷径可以得知说英语的人在说“上周一”时的意思?
例如,今天是我撰写本文时的星期二。日期是2018-09-04。我想得到2018-08-27。
((至少有可能假设 可能有一些母语不同的母语人士,但是无论您以哪种方式理解我的问题,即使您使用表达“最后*
天”。)
答案 0 :(得分:2)
$ date +%F
2018-09-04
$ date -d "1 week ago last monday" +%F
2018-08-27
当然,类似 的声音应该在上一个星期一的前一周,即2018-08-20。听起来有些不合逻辑而又有些逻辑的事情可能是
$ date -d "last monday -1 week" +%F
2018-08-27
答案 1 :(得分:1)
我认为这可能有助于获取上周一的日期:
date -d"last-sunday - 6 days"
在macOS上,您可以使用Homebrew安装GNU实用程序并使用
gdate -d"last-sunday - 6 days"
至少在我的GNU版本中,日期last-sunday
将返回当前日期(如果当前是星期日)。 This may have changed in newer versions.