计算周几公式

版权声明:emmmmm喵喵喵 https://blog.csdn.net/MallowFlower/article/details/89737475
基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
int whatday(int y, int m, int d)//模板
{
        int ans;
        if(m==1||m==2)
                m += 12, y--;
         if((y<1752)||(y==1752&&m<9)||(y==1752&&m==9&&d<3))
                ans = (d + 2*m + 3*(m+1)/5 + y + y/4 + 5)%7;
        else
                ans = (d + 2*m + 3*(m+1)/5 + y + y/4 -y/100 + y/400)%7;
        return ans+1;
}

猜你喜欢

转载自blog.csdn.net/MallowFlower/article/details/89737475