当前位置 博文首页 > lyndon:周报,当前是第几周 ?

    lyndon:周报,当前是第几周 ?

    作者:[db:作者] 时间:2021-08-23 16:18

    第几周 ?

    上周五发周报,被同事指出,应该是 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
    

    $ date --help

    %W 一年中的第几周,以周一为每星期第一天(00-53)

    cs
    下一篇:没有了