当前位置 博文首页 > lyndon:周报,当前是第几周 ?
上周五发周报,被同事指出,应该是 32 周,而我写的是 31 周。
谁有空数这玩意啊,一般就在上周的基础上 +1。
如果前面某周搞错了,那后面就要跟着错了。。😂
我就在想,要不写个命令,显示当前是第几周。
说干就干,也不用 C 了,直接 shell 写写好了。
先借助 excel 的 WEEKNUM() 函数计算几个典型日期的周数
找到规律后,开写
weeknum.sh
#!/bin/bash
year=`date +%Y`
first_day=`date -d ${year}0101 +%w`
day=`date +%j`
dv=$(((day-(7-first_day+1))))
if ((dv<=0));then
echo "53"
exit 0
fi
a=$((dv/7))
b=$((dv%7))
if ((b!=0));then
a=$((a+1))
fi
echo ${a}
运行
$ ./weeknum.sh
33
还不错,搞定!
$ date +%W
33
cs$ date --help
…
%W 一年中的第几周,以周一为每星期第一天(00-53)