shell脚本实现日期减一天

#!/bin/sh

CurYear=`date   +%Y`
CurMonth=`date   +%m`
CurDay=`date   +%d`


GetYear= "$CurYear "
GetMonth= "$CurMonth "
GetDay= "`expr   $CurDay   -   1` "


if   [   "$GetDay "   -le   0   ]   ;   then

                GetMonth=`expr   $CurMonth   -   1`

                if   [   "$GetMonth "   -le   0   ]   ;   then

                                GetYear=`expr   $CurYear   -   1`
                                GetMonth=12

                fi

case   "$GetMonth "
in
1|3|5|7|8|10|12)
              
                                                GetDay=31;;
                                4|6|9|11)

                                                GetDay=30;;
2)
              
                if   [   `expr   "$CurYear "   %   400`   -eq   0   ]   ;   then
              
                GetDay=29
                elif   [   `expr   "$CurYear "   %   4`   -eq   0   -a   `expr   "$CurYear "   %   100`   -ne   0   ]   ;   then

                                                GetDay=29
                                else

                                                GetDay=28
                                fi
esac

fi

if   [   `echo   "$GetMonth "   |   wc   -m`   -ne   3   ]   ;   then

                GetMonth=0$GetMonth
fi

if   [   `echo   "$GetDay "   |   wc   -m`   -ne   3   ]   ;   then

                GetDay=0$GetDay
fi


echo
echo   "                     ===   Get   Last   Date   === "
echo
echo     "\t\t " "$GetYear " "$GetMonth " "$GetDay "
echo


方法二

date -d yesterday +%Y%m%d

方法三

DATE=`date +%Y%m%d -d "1 days ago"`
echo "$DATE"

猜你喜欢

转载自guying1028.iteye.com/blog/1600741
今日推荐