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

函数

 
算法如下:
基姆拉尔森计算公式
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);

时间: 2024-11-01 05:21:12

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

C#根据年月日计算星期几的函数小例子

这篇文章介绍了C#根据年月日计算星期几的函数小例子,有需要的朋友可以参考一下   算法如下: 基姆拉尔森计算公式 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-日期   st

C#根据年月日计算星期几的函数_C#教程

DateTime.Now.ToString("dddd",new System.Globalization.CultureInfo("zh-cn")); 今天在网上看见一些关于 C#实现的根据年月日计算星期几 的介绍:  算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的地方:  把一月和二月看成是上一年的十三

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

函数 有时候,会想在ASP.NET中根据某个日期计算当天是星期几.下面的代码可以进行这种计算.(网上有很多示例代码,可是我看了好多都是错误的.而且都被转载来转载去,流传开了.我在这里就权且算更正一下.呵呵.) string CaculateWeekDay(int y,int m, int d){ if(m==1) {m=13;y--;} if(m==2) {m=14;y--;} int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;  string w

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

算法如下: 基姆拉尔森计算公式 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来代入公式计算.代码如下: Code [copy to clipboard] CODE: //y-年,m-月,d-日期 string CaculateWeekDay(int y,int

android-根据当期日期计算星期几

问题描述 根据当期日期计算星期几 根据日期获取当前的星期数字,比如2013.05.07,星期二. 应该怎么实现? Sunday 05.05.2013 Monday 06.05.2013 *Tuesday 07.05.2013 Wednesday 08.05.2013 Thursday 09.05.2013 Friday 10.05.2013 Saturday 11.05.2013 解决方案 Calendar cal = Calendar.getInstance(); cal.set(Calend

C#根据日期计算星期几的实例代码_C#教程

本示例采用基姆拉尔森计算公式来根据日期计算未来日子是星期几: 首先看下百度百科的基姆拉尔森计算公式定义: 基姆拉尔森计算公式 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来代入公式计算. 1.客户端(采用ajax方式调用): $.get('Caculate

MFC线程计算可以不从函数的开始的位置,而从指定的行号开始执行么

问题描述 MFC线程计算可以不从函数的开始的位置,而从指定的行号开始执行么 MFC线程计算可以不从函数的开始的位置,而从指定的行号开始执行么,怎么根据行号来执行函数? 解决方案 给需要用到的行加上标号,自己编号,在程序开头判断,用goto跳转执行

php-这个计算字符串长度的函数的原理?

问题描述 这个计算字符串长度的函数的原理? function str_len($str){ $length = strlen(preg_replace('/[x00-x7F]/' '' $str)); if ($length) { return strlen($str) - $length + intval($length / 3) * 2; } else { return strlen($str); }} strlen(preg_replace('/[x00-x7F]/' '' $str));

c语言-C语言计算字符长度的函数 strlen的问题

问题描述 C语言计算字符长度的函数 strlen的问题 下面这段: int main(){ char s[]="hello world"; char *n; n=&s[0]; int t=strlen(n); printf("%d ",t); } 得到字符长度是11,但是如果把char s[]="hello world";改为char s[11]="hello world"; 最后的值就会变成17,多出来的6是怎么回事