如何知那天是星期几?

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:57:54
比如1856年3月21日是星期几?不能查万年历?要用方法计算出来?

闰年加2,平年加1
假设2002年9月1日星期日,则2008年9月1日星期一。因为02年到08年有4个平年,2个闰年
则4*1+2*2=8,一周七天,即加1,也就是第二天。
再如,2004年2月28日周六,2008年2月28日周四,因为3+2=5,加5,即周四。(08年2月29没到,故不算)
你说的那个问题更复杂一些,不过只要算好中间相隔的年份及闰年的个数就行。如果日期也不同的话,就算好天数差,反正七天一轮回。

我的是C#的算法:
public string WeekCacultor(int y, int m, int d)
{
string[] Weeks ={ "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ,"星期日" };
if (m == 1) m = 13;
if (m == 2) m = 14;
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; //基姆拉尔森计算公式
int s = (week + a) % 7;
return Weeks[s];
}
Console .WriteLine("今天是"+WeekCacultor(1856,3,21));