如何知那天是星期几?

比如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没到,故不算)
你说的那个问题更复杂一些,不过只要算好中间相隔的年份及闰年的个数就行。如果日期也不同的话,就算好天数差,反正七天一轮回。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-30
我的是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));
相似回答