家园首页 Php4手册 我的相册 家园下载 个人文集 给我留言
我形我塑,网络相册,www.5x54.com 相册 相册 心情相册,少女相册 免费申请,我形我塑免费相册
 家园 个人文集   http://www.5x54.com
 


两个非常简洁的 程序 计算2000~2099年任一天是星期几


作者:网上收集    点击: 读取中...

方法一: (%$$287#^67)心情家园www.bbsdiy.net
引用代码: //  计算2000~2099年任一天星期几  
//  year    :  00-99  
//  month:  01-12  
//  day    :  01-31  
unsigned  char  GetWeekFromDay(unsigned  char  year,unsigned  char  month,unsigned  char  day)  
{  
    if(  
month  ==  1  ||  month  ==  2  )  
    {  
      
month  +=  12;  
      if(  
year>  0  )  
        
year--;  
      else  
        
year  =  4;  
    }  

    
//  返回星期几(星期一用1表示(%$$287#^67)心情家园www.bbsdiy.net,而星期天用7表示)  
    
return  1+((  day  +  2*month  +  3*(month+1)/5  +  year  +  year/4  )  %7);  
}
(%$$287#^67)心情家园www.bbsdiy.net
(%$$287#^67)心情家园www.bbsdiy.net
方法二: (%$$287#^67)心情家园www.bbsdiy.net
引用代码: //51的话(%$$287#^67)心情家园www.bbsdiy.net,可以定义在CODE(%$$287#^67)心情家园www.bbsdiy.net,不光省RAM(%$$287#^67)心情家园www.bbsdiy.net,还节省代码空间(少一条MOV指令)。
//这里0代表星期天(%$$287#^67)心情家园www.bbsdiy.net,使用者应该加上日前限定的功能。  
uchar      WeekData[]={0,3,3,6,1,4,6,2,5,0,3,5};  
/*2000-2099*/  
unsigned  char  GetWeekDay(unsigned  char  year,unsigned  char  month,unsigned  char  day)  
{  
      return      ((
6+WeekData[month-1]+year+day+year/4)%7);  
}

收藏此文章     打印  更新     编辑此文章    『关闭窗口』