码迷,mamicode.com
首页 > 其他好文 > 详细

蔡勒公式

时间:2018-04-23 22:49:40      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:某年   截取   表示   style   大于   现在   pre   公式   hang   

W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)

w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
c:世纪(注:在公式中取值为已经过的世纪数,也就是年份除以一百的结果,而非正在进行的世纪,也就是现在常用的年份除以一百加一)
y:年(后两位数)
m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
d:日

方括[ ]表示只截取该数的整数部分。

int Change(int year,int month,int day)//根据日期判断出星期几
{
    if(month == 1 || month == 2) {
        month += 12;
        year--;
    }
    int c = year / 100;
    int y = year % 100;
    int m = month;
    int d = day;
    int W = c/4-2*c+y+y/4+26*(m+1)/10+d-1;//蔡勒公式 
    if(W < 0)    return (W+(-W/7+1)*7)%7;
    return W%7;
}

 

蔡勒公式

标签:某年   截取   表示   style   大于   现在   pre   公式   hang   

原文地址:https://www.cnblogs.com/kindleheart/p/8922039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!