由日期计算周几

题目及要求

1.1 题目描述

给定日期,计算星期几。

 

2 解答

2.1 题目分析

基姆拉尔森计算公式

 

2.2 代码


// 0-星期日, 1-星期一, 2-星期二, 3-星期三, 4-星期四, 5-星期五, 6-星期六
int CaculateWeekDay1(int y, int m, int d) {
    if (m == 1 || m == 2) {
        m += 12;
        --y;
    }
    return (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
}

点赞