开心了, 就笑;不开心了,就过会儿再笑。。。。
分类: 其他平台
2016-06-24 14:32:51
2.通过脚本获取
vim c_test.sh 创建脚本,输入以下所贴出的代码
chmod +x c_test.sh 给予脚本执行权限
./c_test.sh 20120311 取得2012年3月11日是星期几
以下是该脚本的代码(其实通过这个脚本我们就可以看出从日期获取星期几的计算方法了):
#!/bin/bash # SAVE THIS CODE AS c_test.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:20120311 # then # Returns a value between 0 and 6 to represent the day of the # week where 0=Sun,1=Mon,...6=Sat # # e.g c_test.sh 20120311 # # This formula is Year 2000 compliant. # It is not compliant using dates previous to Oct 1752 # export YMD=$1 export YEAR=`echo $YMD|cut -c0-4` export MONTH=`echo $YMD|cut -c5-6` export DAY=`echo $YMD|cut -c7-9` # 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 # ================ echo $Z # Sun 0 # Mon 1 # Tue 2 # Wed 3 # Thu 4 # Fri 5 # Sat 6 # ========================