Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1750061
  • 博文数量: 600
  • 博客积分: 10581
  • 博客等级: 上将
  • 技术积分: 6205
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:13
文章分类
文章存档

2016年(2)

2015年(9)

2014年(8)

2013年(5)

2012年(8)

2011年(36)

2010年(34)

2009年(451)

2008年(47)

分类:

2010-04-16 08:49:23

#!/bin/sh  
# SAVE THIS CODE AS dayofweek.sh  
#  
# Uses Zellers Congruence calculation to use a date and give  
# the day of the week that date was.  
#  
# This function expects 1 Arguments,  
# YYYYMMDD  
# example:20090520 
# then  
# Returns a value between 0 and 6 to represent the day of the  
# week where 0=Sun,1=Mon,...6=Sat  
#  
# e.g dayofweek.sh 20090520 
#  
# This formula is Year 2000 compliant.  
# It is not compliant using dates previous to Oct 1752 
#  
YMD=$1
YEAR=`echo $YMD|cut -c0-4`
MONTH=`echo $YMD|cut -c6-7`
DAY=`echo $YMD|cut -c9-10`
#echo $YEAR
#echo $MONTH
#echo $DAY
# Adjust Month such that March becomes 1 month of  
# year and Jan/Feb become 11/12 of previous year  
# =============================================  
if [ $MONTH -ge 3 ]
then
  MONTH=`expr $MONTH - 2`
else
  MONTH=`expr $MONTH + 10`
fi

if [ $MONTH -eq 11 ] || [ $MONTH -eq 12 ] ; then
  YEAR=`expr $YEAR - 1`
fi
# ==============================================  
# Split YEAR into YEAR and CENTURY  
# ================================  
CENTURY=`expr $YEAR / 100`
YEAR=`expr $YEAR % 100`
# ================================  
# Black Magic Time  
# ================  
#Z=(( 26*$MONTH - 2 ) / 10) + $DAY + $YEAR + ( $YEAR/4 ) + ( $CENTURY/4 ) - (2 * $CENTURY) + 77) % 7 
Z=`expr \( $MONTH \* 26 - 2 \) / 10`
Z=`expr $Z + $DAY + $YEAR`
Z=`expr $Z + $YEAR / 4`
Z=`expr $Z + $CENTURY / 4`
Z=`expr $Z - $CENTURY - $CENTURY + 77`
Z=`expr $Z % 7`
if [ $Z -lt 0 ] ; then
  Z=`expr $Z + 7`
fi
# ================  
if [ $Z -eq 0 ] ; then
        echo "星期日";
fi
if [ $Z -eq 1 ] ; then
        echo "星期一";
fi
if [ $Z -eq 2 ] ; then
        echo "星期二";
fi
if [ $Z -eq 3 ] ; then
        echo "星期三";
fi
if [ $Z -eq 4 ] ; then
        echo "星期四";
fi
if [ $Z -eq 5 ] ; then
        echo "星期五";
fi
if [ $Z -eq 6 ] ; then
        echo "星期六";
fi
阅读(1438) | 评论(0) | 转发(0) |
0

上一篇:修改防火墙

下一篇:文件合并

给主人留下些什么吧!~~