- 论坛徽章:
- 0
|
给出任意的日期,求得给出的日期是周几
咦,格式怎么乱了-再发一次
#!/bin/sh
if [ $# -ne 1 ]
then
echo "usage: $0 date(date of source data)";
exit -1;
fi
DATA_DATE="$1"
FMT_CODE=`echo $DATA_DATE|awk '{
date_len = length($1)
if (date_len != {
fmt_flag = 1
} else {
fmt_flag=0
for (cnt=1; cnt<date_len+1; cnt++) {
date_number=substr($1,cnt,1)
if ( date_number<"0" ||
date_number>"9" {
fmt_flag=2
break
}
}
}
print fmt_flag
}'`;
if [ $FMT_CODE -ne 0 ]
then
echo "---- Date format error [$FMT_CODE] ";
exit -2;
else
echo "---- Date [$DATA_DATE] format ok [$FMT_CODE] ";
fi
Year=`echo $DATA_DATE|awk '{print substr($1,0,4)}'`
Month=`echo $DATA_DATE|awk '{print substr($1,5,2)}' | sed 's/^0//'`
Day=`echo $DATA_DATE|awk '{print substr($1,7,2)}' | sed 's/^0//'`
Week=`cal -m $Month $Year | grep " $Day" |
sed "s/${Day}.*$/${Day}\ /" |awk -F'|' '{
print length($1)/3
}'`;
###
echo "--debug-- [$DATA_DATE] --- [$Week] !!!"
###
case $Week in
1)
echo "---- 1 Mon. Monday"
;;
2)
echo "---- 2 Tues. Tuesday"
;;
3)
echo "---- 3 Wed. Wednesday"
;;
4)
echo "---- 4 Thurs. Thursday"
;;
5)
echo "---- 5 Fri. Friday"
;;
6)
echo "---- 6 Sat. Saturday"
;;
7)
echo "---- 7 Sun. Sunday"
;;
*)
echo "---- ERROR!!!"
;;
esac
exit 0; |
|