BASH:在变量中设置上一个星期一的日期

时间:2012-10-09 09:59:59

标签: 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

这是将“星期一”变量设置为最后一个星期日的最佳方法吗?

1 个答案:

答案 0 :(得分:3)

实际上你的逻辑并不总是设置“最后一个星期一”。如果今天是星期一,你会得到当前的日期值。

我觉得你的逻辑还可以。但是,您可能关注的一件事是,%a为您提供本地化的工作日名称。来自手册页:

 locale’s abbreviated weekday name

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

  

%u。星期几(1..7); 1是星期一