给定一个日期,如何确定他是星期几
DateTime dt=System.DateTime.Now;
dt.DayOfWeek();
//返回的日期表示星期几
返回的是个DayOfWeek枚举:
成员名称 说明
Friday 表示星期五。
Monday 表示星期一。
Saturday 表示星期六。
Sunday 表示星期日。
Thursday 表示星期四。
Tuesday 表示星期二。
Wednesday 表示星期三。
或者直接
(int)DateTime.DayOfWeek()
0 = 星期日
1..6 = 星期一..六
或者
把一月和二月看成是上一年的十三月和十四月,例:如果是2006-1-20则换算成:2006-13-20来代入公式计算。
代码如下:
//y-年,m-月,d-日期
string CaculateWeekDay(int y,int m, int d)
{
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;
string weekstr="";
switch(week)
{
case 0: weekstr="星期一"; break;
case 1: weekstr="星期二"; break;
case 2: weekstr="星期三"; break;
case 3: weekstr="星期四"; break;
case 4: weekstr="星期五"; break;
case 5: weekstr="星期六"; break;
case 6: weekstr="星期日"; break;
}
return weekstr;
}