PreviousDay(){
# 从输入的日期中减去一天
day=`expr $day - 1`
day=`expr $day - 1`
# 如果day为0,那么这一天是上个月的最后一天
if [ $day -eq 0 ]; then
if [ $day -eq 0 ]; then
# 找到上一个月
month=`expr $month - 1`
month=`expr $month - 1`
# 如果month为0,那么这个月上一年的12/31日
if [ $month -eq 0 ]; then
month=12
day=31
year=`expr $year - 1`
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
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
}