PreviousDay(){ # 从输入的日期中减去一天 day=`expr $day - 1` # 如果day为0,那么这一天是上个月的最后一天 if [ $day -eq 0 ]; then # 找到上一个月 month=`expr $month - 1` # 如果month为0,那么这个月上一年的12/31日 if [ $month -eq 0 ]; then month=12 day=31 year=`expr $year - 1` # 如果月份不为0 ,那么要找到上个月最后一天 else case $month in 1|3|5|7|8|10|12) day=31;; 4|6|9|11) day=30;; 2) if [ `expr $year % 4` -eq 0 ]; then if [ `expr $year % 400` -eq 0 ]; then day=29 elif [ `expr $year % 100` -eq 0 ]; then day=28 else day=29 fi else day=28 fi ;; esac fi fi }