- 论坛徽章:
- 33
|
- #!/bin/bash
- function date2days {
- echo "$1 $2 $3" | awk '{
- z=int((14-$2)/12); y=$1+4800-z; m=$2+12*z-3;
- j=int((153*m+2)/5)+$3+y*365+int(y/4)-int(y/100)+int(y/400)-2472633;
- print j
- }'
- }
- function days2date {
- echo "$1" | awk '{
- a=$1+2472632; b=int((4*a+3)/146097); c=int((-b*146097)/4)+a;
- d=int((4*c+3)/1461); e=int((-1461*d)/4)+c; m=int((5*e+2)/153);
- dd=-int((153*m+2)/5)+e+1; mm=int(-m/10)*12+m+3; yy=b*100+d-4800+int(m/10);
- printf ("%4d%02d%02d\n",yy,mm,dd)
- }'
- }
- function date2week {
- echo "$1 $2 $3" | awk '{
- z=int((14-$2)/12); y=$1+4800-z; m=$2+12*z-3;
- dow=(int((153*m+2)/5)+$3+y*365+int(y/4)-int(y/100)+int(y/400)-2472629)%7;
- print dow
- }'
- }
- year=`date +%Y`; month=`date +%m`; day=`date +%d`
- days=`date2days $year $month $day`
- week=`date2week $year $month $day`
- let date=$days-$week-7
- days2date $date
复制代码 |
|