dvknn,
PHV is right, the day if July 31 would be reported as June 31, 2004. Since this is not changing the TZ value in the OS, then this would be incorrect.
This should resolve the issue PHV brought up.
#!/usr/bin/ksh -p
DAY=`date "+%d"`
YEAR=`date "+%Y"`
MON=`date "+%m"`
set -A M30 "April" "June" "September" "November"
if [ ${MON} -eq 1 ]; then
MON=12
else
let MON=MON-1
fi
case ${MON} in
1) AM="January";;
2) AM="Feburary";;
3) AM="March";;
4) AM="April";;
5) AM="May";;
6) AM="June";;
7) AM="July";;
8) AM="August";;
9) AM="September";;
10) AM="October";;
11) AM="November";;
12) AM="December";;
esac
if [ ${DAY} -eq 31 ]; then
for ${MONTH} in "${M30[@]}"; do
if [ "${AM}" == "${MONTH}" ]; then
DAY=30
fi
done
fi
if [[ ${DAY} -eq 30 && "${AM}" == "Feburary" ]]; then
YRMOD=`expr ${YEAR} % 4`
[ ${YRMOD} -eq 0 ] && DAY=29 || DAY=28
fi
print "${DAY}-${AM}-${YEAR}"
# EOS