linux - BASH:在变量中设置最后一个星期一的日期

标签 linux bash date

today=`date +%a`

if [ "$today" == "Mon" ] 
then
        monday=`date -dmonday +%Y%m%d`
else
        monday=`date -dlast-monday +%Y%m%d`
fi

将“星期一”变量设置为上星期一的日期是否是最佳方式?

最佳答案

实际上您的逻辑并不总是设置“上周一”。如果今天是星期一,您将获得当前日期值。

我觉得你的逻辑没问题。但是,您可能会担心一件事,%a 会为您提供一个本地化的工作日名称。来自手册页:

 locale’s abbreviated weekday name

还有另一种格式 %u,您可以使用它来使您的脚本更具可移植性。

%u day of week (1..7); 1 is Monday

关于linux - BASH:在变量中设置最后一个星期一的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797490/

相关文章:

python - 编写等效的 GNU/Linux 命令

linux - 在 bash 脚本中调用的终端内抛出命令

javascript - 用户输入月份的第一天和最后一天

r - 有没有一种简单的方法可以判断某个时间间隔是否与 R 中的周末重叠?

linux - 如何在 linux 中向文件夹添加注释并使用鼠标光标查看它们

php - 连接()到 unix :/var/run/php-fpm. 套接字失败(11 : Resource temporarily unavailable) while connecting to upstream, 客户端 : unix:, 服务器

bash - 在 shell 脚本中使用 read 命令逐行读取输入文件会跳过最后一行

linux - 列出所有用户和他们上次阅读邮件的时间,通过管道传输到多个输出

php - 如何在 mysql 查询 php 中回显当前日期

linux - 如何使用 grep 命令搜索多个模式?