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可能出现负值, 求负数的余数需要特殊处理,需要按数论的计算方式求余数。网上很多代码存在此问题,少数日...

知道年月日就可以计算那一天是星期几(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
  • 784

js实现页面动态时间,滚动效果(年月日,小时、分钟、秒,星期,毫秒)

年月日放在一个div里面; 小时、分钟、秒放在一个div里面; 星期放在一个div里面; 毫秒放在一个div里面。 因为它们的时间设置不同或img类不同 html js制作一个...

63_给出年月日计算出星期几_蔡勒公式的运用.cpp

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者:解晓东 * 完成日期:2012 年 10...

C语言:知任意年月日求星期几

  • 2009年01月08日 00:01
  • 1KB
  • 下载

编写一个函数days,实现上面的计算。。由主函数将年月日传递给days,计算出该日在本年中是第几天并将结果传回主函数输出

// 121212 第七章习题2.cpp : 定义控制台应用程序的入口点。 // /* * Copyright (c) 2012, 烟台大学计算机学院 * All...

第四题 给年月日求星期 以后不用cin,cout和string了,我爱c语言我爱scanf

//学习字符串截取函数strncpy //char src[] = {"123456789"}; //strncpy(dest, src, 3); //puts(dest); //输出结果为 123 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#实现的根据年月日计算星期几的函数
举报原因:
原因补充:

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