1.2.12

上次更新:2019-04-17
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

这里使用蔡勒公式来推算星期。

参考:http://www.cnblogs.com/mq0036/p/3534314.html

代码

/// <summary>
/// 计算当前日期是星期几,返回对应的星期名称。
/// </summary>
/// <returns></returns>
public string DayOfTheWeek()
{
    int d = this.Day;
    int m = this.Month;
    int y = this.Year;

    if (m < 3)
    {
        m += 12;
        y--;
    }

    //使用蔡勒公式计算,参见 http://www.cnblogs.com/mq0036/p/3534314.html
    int w = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;

    return dayOfWeek[w];
}

另请参阅

蔡勒公式-维基百科

上一题 下一题