zoukankan      html  css  js  c++  java
  • AIX 计算今年过了多少天了

    #取系统时间
    YEARDAY () {
    #判断闰年
    #标准如果能被400整除那么为闰年
    #如果能被4整除且不能被100整除那么是闰年
    if [ $# -ne 1 ];then
        echo "Usage: $0 year"
        exit 1;
    fi
    FYEAR="$1"
    
    if [ `expr ${FYEAR} % 400` -eq 0 ];then
        FRUN="366"
    else
        if [ `expr ${FYEAR} % 4` -eq 0 ];then
            if [ `expr ${FYEAR} % 100` -eq 0 ];then
                FRUN="365"
            else
                FRUN="366"
            fi
        else
            FRUN="365"
        fi
    fi
    
    echo "$FRUN"
    
    exit 0;
    }
    #定义DOY函数
    DOY () {
    #MD表示
    MD=0
    #天数累计
    MDTOTAL=0
    #计算$1的天数
    LOGBACKUPDATE=`date "+%Y-%m-%d"`
    echo $LOGBACKUPDATE
    BACKYEAR=`echo $LOGBACKUPDATE|awk -F'-' '{print $1}'`
    	BACKMONTH=`echo $LOGBACKUPDATE|awk -F'-' '{print $2}'`
    	BACKDAY=`echo $LOGBACKUPDATE|awk -F'-' '{print $3}'`
    	YEAR=$BACKYEAR
    	MONTH=`echo $BACKMONTH | sed 's/^0//g'`
    	DAY=`echo $BACKDAY | sed 's/^0//g'`
    i=$((MONTH -1))
    #until 循环直到条件为真就停止
    until [ "$i" = 0 ]
    do
    case $i in
    1|3|5|7|8|10|12 ) MD=31
    ;;
    4|6|9|11 ) MD=30
    ;;
    2 ) if [ $(YEARDAY $YEAR) = 366 ]
            then MD=29
            else MD=28
            fi
    ;;
    esac
    (( MDTOTAL += MD ))
    echo $MDTOTAL
    (( i = i - 1 ))
    done
    TOTALDAY=`echo $(( MDTOTAL + DAY ))`
    echo $TOTALDAY
    }
    #以上已经计算出了月份+天数
    #此时的YEAR2=2011 YEAR1=2009
    
    DOY
    NUM=1
    get_before=`expr $TOTALDAY - $NUM`
    echo $get_before

  • 相关阅读:
    Qt之json解析
    ListView
    JAVA的文件操作【转】
    可以随着SeekBar滑块滑动显示的Demo
    Android 之Buletooth
    VC++之运算符重载简单小结
    Android之Audio和Video
    Android之内容提供者ContentProvider的总结
    Android之Intent
    Android之Activity小结
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352118.html
Copyright © 2011-2022 走看看