C#实现的根据年月日计算星期几的函数

转载 2005年05月22日 10:52:00

算法如下:
基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

  在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:

 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

代码如下:
 //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 1: weekstr="星期一"; break;
    case 2: weekstr="星期二"; break;
    case 3: weekstr="星期三"; break;
    case 4: weekstr="星期四"; break;
    case 5: weekstr="星期五"; break;
    case 6: weekstr="星期六"; break;
    case 7: weekstr="星期日"; break;
   }

          return weekstr;
  }

调用方法:
Label1.Text=CaculateWeekDay(2004,12,9);

根据年月日计算星期几的函数

大部分日期计算正常, 2014-04-01 (星期2)计算出来的星期不正确。 原因:计算出来的 w可能出现负值, 求负数的余数需要特殊处理,需要按数论的计算方式求余数。网上很多代码存在此问题,少数日...
  • minyuanxiani
  • minyuanxiani
  • 2014年04月03日 18:50
  • 1441

C#中实现根据年月日计算星期几的函数

有时候,会想在ASP.NET中根据某个日期计算当天是星期几。下面的代码可以进行这种计算。(网上有很多示例代码,可是我看了好多都是错误的。而且都被转载来转载去,流传开了。我在这里就权且算更正一下。呵呵。...
  • arui319
  • arui319
  • 2005年01月12日 12:25
  • 2714

给定年月日,一个公式巧算星期几

来看公式: int CaculateWeekDay(int y,int m, int d) { if(m==1||m==2) { m+=12; y--; ...
  • chudongfang2015
  • chudongfang2015
  • 2016年05月10日 19:54
  • 2144

知道年月日就可以计算那一天是星期几(What day is today?)

公式 W =〔 [c/4] - 2c + y + [y/4] + [13 * (m+1) / 5] + d - 1 〕% 7 (或者是:w= 〔y+[y/4]+[c/4]-2c+[26(m+1)/10...
  • suhu1
  • suhu1
  • 2013年12月19日 10:53
  • 963

java根据年月日判断周几

java根据年月日判断周几public class Test { //基姆拉尔森计算公式根据日期判断星期几 public static void CalculateWeekDay(in...
  • aiwusheng
  • aiwusheng
  • 2017年07月13日 15:34
  • 405

C#实现的根据年月日计算星期几的函数

  //y-年,m-月,d-日期  string CaculateWeekDay(int y,int m, int d)  {  if(m==1) m=13;  if(m==2) m=14;  ...
  • zhuizhu
  • zhuizhu
  • 2005年06月14日 22:06
  • 568

C#实现的根据年月日计算星期几的函数

算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7  在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他...
  • fanz2000
  • fanz2000
  • 2004年12月09日 16:27
  • 1445

C++实现——由年月日推算是星期几

#include #include #include using namespace std; /* 语法:result = weekday(int N, int M, int d) 参数: N,...
  • langmanqishizaijia
  • langmanqishizaijia
  • 2016年04月07日 19:17
  • 1475

iOS开发 根据日期计算是星期几

NSDateComponents *_comps = [[NSDateComponents alloc] init];     [_comps setDay:23];     [_comps se...
  • yangchen9931
  • yangchen9931
  • 2015年03月31日 17:13
  • 466

C语言根据日期判断星期几(使用基姆拉尔森计算公式)

C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日...
  • flyingdon
  • flyingdon
  • 2011年08月02日 16:09
  • 22153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#实现的根据年月日计算星期几的函数
举报原因:
原因补充:

(最多只允许输入30个字)