shell 判断给定日期是否是月底

#!/bin/bash

datebeg=$1
dateend=$2

set -e

beg_s=` date -d "$datebeg" +%s`
end_s=` date -d "$dateend" +%s`
while((end_s>=beg_s))
do
    incdate=`date -d @$beg_s +%Y%m%d`
    y=`date -d ''$incdate' 0 days'  +%Y`
    m=`date -d ''$incdate' 0 days'  +%m`
    d=`date -d ''$incdate' 0 days'  +%d`
    if [ $(date -d ''$incdate' 0 days'  +%d) -eq $(cal $m $y |xargs|awk '{print $NF}') ]  
       then  
          echo "是月底,执行该天:$incdate"
          #请属于需要执行的命令

       else
          echo "不是月底,跳过该天:$incdate"
    fi
((beg_s+=86400))
done

 

posted @ 2022-09-14 17:26  葫芦杯  阅读(127)  评论(0编辑  收藏  举报