日期:2014-05-16 浏览次数:20853 次
#***************************** #description get last hour #input 2009091812 #output 2009091811 #***************************** getLastHour(){ param=$1 #echo "param is:"$param pYear=`echo $param | awk '{ print substr($0,1,4) }'` pMonth=`echo $param | awk '{ print substr($0,5,2) }'` pDay=`echo $param | awk '{ print substr($0,7,2) }'` pHour=`echo $param | awk '{ print substr($0,9,2) }'` #start if [ $pHour = "00" ]; then pHour="23" if [ $pDay = "01" ]; then if [ $pMonth = "01" ]; then pMonth="12" pDay="31" ((pYear=$pYear-1)) else if [ $pMonth = "03" ]; then ((a4=$pYear%4)) ((a100=$pYear%100)) ((a400=$pYear%400)) if [[ ($a4 = 0 && a100 != 0) || $a400 = 0 ]]; then pDay="29" else pDay="28" fi elif [[ $pMonth = "05" || $pMonth = "07" || $pMonth = "10" || $pMonth = "12" ]]; then pDay="30" else pDay="31" fi ((pMonth=$pMonth-1)) fi else ((pDay=$pDay-1)) fi else ((pHour=$pHour-1)) fi #fomat len=`echo $pHour | awk '{ print length($0) }'` if [ $len = "1" ]; then pHour="0"$pHour fi len=`echo $pDay | awk '{ print length($0) }'` if [ $len = "1" ]; then pDay="0"$pDay fi len=`echo $pMonth | awk '{ print length($0) }'` if [ $len = "1" ]; then pMonth="0"$pMonth fi lastHour="$pYear""$pMonth""$pDay""$pHour" return $lastHour }