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表示年数。
注意:在公式中有个与其他公式不同的地方:
 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
代码如下:

 //y-年,m-月,d-日期 

string CaculateWeekDay(int y,int m,int d)
  {
    string[] weekstr ={ "日", "一", "二", "三", "四", "五", "六" };

    if (m < 3)
    {
      m += 12;
      if (y % 400 == 0 || y % 100 != 0 && y % 4 == 0)
      {
        d--;
      }
    }
    else
    {
      d += 1;
    }
    return "星期" + weekstr[(d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7]; 

  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-09-22 03:05:46

C#根据年月日计算星期几的函数_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#中实现根据年月日计算星期几的函数

函数 有时候,会想在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来代入公式计算. 代码如下: //y-年,m-月,d-日期  string CaculateWeekDay(int y,int m, int d)  {  if(m=

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

C#中Byte转换相关的函数_C#教程

 1.将一个对象转换为byte对象 public static byte GetByte(object o) { byte retInt = 0; if (o != null) { byte tmp; if (byte.TryParse(o.ToString().Trim(), out tmp)) { retInt = tmp; } } return retInt; } 2.将一个十六进制字符串转换为byte对象,字符串以0x开头 public static byte GetByteFormHe

C#简单实现显示中文格式星期几的方法_C#教程

本文实例讲述了C#简单实现显示中文格式星期几的方法.分享给大家供大家参考,具体如下: 1. 复制代码 代码如下: DateTime.Now.ToString("dddd",new System.Globalization.CultureInfo("zh-cn")); 2. 复制代码 代码如下: new string[] { "星期日", "星期一", "星期二", "星期三", &quo

C#难点逐个击破(4):main函数_C#教程

还记得读大学时初识计算机编程时的C语言,Main(){},那时还不明白入口函数是什么意思,只知道照抄书本上的示例,一行一行地跑printf看. 在C#中Main()属于主入口函数,我们知识C.C#属于编译语言,可以想象为一段程序最开始的头部部分,由Main()函数进入逐语句进行编译后执行.假如html页面也称作编程语言的话,那么它就属于从上到下一句一句(下载)执行:js也是由上到下执行,不过js相当诡异,变量作用域要特别对待:在asp.net中一般情况下是以Page_Load(object se

提取HTML代码中文字的C#函数_C#教程

/// <summary>   /// 去除HTML标记   /// </summary>   /// <param name="strHtml">包括HTML的源码 </param>   /// <returns>已经去除后的文字</returns>   public static string StripHTML(string strHtml)   {    string [] aryReg ={       

C# Base64编码函数_C#教程

一. Base64的编码规则        Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24 位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到2个0字节.并在最后编码完成后在结尾添加1到2个 "=".