给定一个日期,如何确定他是星期几

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;
  }

posted @ 2008-01-18 16:25  魏向峰  阅读(765)  评论(1编辑  收藏  举报