计算某一月有多少天

来源:互联网 发布:苹果破解软件网站 编辑:程序博客网 时间:2024/05/03 12:35
#1、取一年的某一月有多少天(对闰年进行了特殊的处理)函数
#调用: GetDays yy mm
#输入: 1. yy年份
#       2. mm月份
#输出: 一个月的天数
#       -1 不成功
#功能: 取一年的某一月有多少天(对闰年进行了特殊的处理)
###############################################################################
GetDays()
{
    yy_tmp=$1
    mm_tmp=`expr $2 + 0`

    if [ $? -ge 2 ]; then
       return -1
    fi         

    case $mm_tmp in

         1|3|5|7|8|10|12) ret_days=31
                          ;;
         4|6|9|11)        ret_days=30
                          ;;
         2)               ret_days=28
                          ;;
    esac

    if [ $mm_tmp -eq 2 ]; then

        yy_tmp1=`expr $yy_tmp / 4 \* 4`

        if [ $? -ge 2 ]; then
           return -1
        fi

        yy_tmp2=`expr $yy_tmp / 100 \* 100`

        if [ $? -ge 2 ]; then
           return -1
        fi

        yy_tmp3=`expr $yy_tmp / 400 \* 400`

        if [ $? -ge 2 ]; then
           return -1
        fi
 
        if [ $yy_tmp1 -eq $yy_tmp ]; then
           if [ $yy_tmp2 -eq $yy_tmp ]; then
              if [ $yy_tmp3 -eq $yy_tmp ]; then
                 ret_days=29
              fi
           else
              ret_days=29    
           fi           
        fi
     fi     
     return $ret_days
}

原创粉丝点击