`
mmdev
  • 浏览: 12940281 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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 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;
}
private void Button1_Click(object sender, System.EventArgs e)
{
int year=int.Parse(TextBox1.Text);
int month=int.Parse(TextBox2.Text);
int day=int.Parse(TextBox3.Text);
Label1.Text=CaculateWeekDay(year,month,day);
}

代码很简单,不需要太多解释,一看就明白了。如果应用到现实中,最好对TextBox进行有效性检查,防止输入非法数据;或者将TextBox改成DropDownList。可能有人会问,C#里是否有相应的函数呢?当然有了。DayOfWeek就是返回星期几的函数。既然写到这里了,就给个示例代码吧。如下:

System.DateTime newDate=new DateTime(2005,1,11);
Response.Write(newDate.DayOfWeek);

其它说明:计算星期几的算法还有蔡勒公式,还有一些在基姆拉尔森公式和蔡勒公式基础上改进的公式等等。

分享到:
评论

相关推荐

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

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

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

    主要为大家详细介绍了C#实现根据年月日计算星期几的函数,感兴趣的小伙伴们可以参考一下

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

    介绍了C#根据年月日计算星期几的函数小例子,有需要的朋友可以参考一下

    基于C#实现相隔天数的计算

    本程序基于C#语言实现相隔天数的计算,通过输入两个时间的年月日,该算法会计算出两个时间相隔的天数。

    Csharp 日期函数使用技巧

    这是一个关于C#的日期使用方法!上面很仔细的介绍了些!

    DateTime相差年月日相差计算

    因为需要计算出生了几年几月几日,所以就用C#自己写了函数计算两个DateTime相隔了年月日,。比如:2018.1.21-2011.1.22,隔了6年11月30日

    C#_的字符串处理函数及举例

    1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System....1.9 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒

    GPS周和秒的计算

    实现了协调世界时转换为GPS时和北斗时,可进行基本的时间转换

    定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果:

    定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果: a. 能够进入下一个月。 b. 能够进入下一个年。 c. 能显示日期。

    C#在查询语句中使用字符串函数

    摘要:C#源码,数据库应用,字符串函数 C#在查询语句中使用字符串函数,显示出生年月,本例数据库采用了Access,已经存放于Bin目录中,有兴趣的自己编译本源代码,重新运行看效果。源码爱好者测试截图如上所示。

    c#实习6报告.doc

    输入年月日,显示日 " "期及日期所对应的星期(可通过new " "DateTime(年,月,日).DayOfWeek获取日期对应的星期)。运行效果如图所示。 " " " "注:请在实验数据记录及分析中写出相应的源程序代码,并写出 结构的定义格...

    C#基础类库

    将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 2.将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 3.把秒转换成分钟 4.返回某年某月最后一天 5.返回时间差 6.获得两个日期的...

    C#在查询语句中使用格式化函数

    摘要:C#源码,数据库应用,格式化函数 C#在查询语句中使用格式化函数,将出生日期格式化为“年月日”的格式,一个初学者的例子,欢迎C#新手参考。

    C#基类库(苏飞版)

    将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 2.将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 3.把秒转换成分钟 4.返回某年某月最后一天 5.返回时间差 6.获得两个日期的...

    NextData日期问题

    编写NextDate程序,求出下一天的日期。 当用户输入有效日期是,系统将自动计算出前一天的日期,否则,系统不执行日期的计算,并给出消息提示输入无效。

    asp.net知识库

    在 SQL Server 2005 中使用表值函数来实现空间数据库 SQL Server 2005的30个最重要特点 同时安装sql2000和sql2005的经验 类如何与界面绑定 在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立...

    python 计算两个日期相差多少个月实例代码

    我在网上找了很久,结果发现万能的python,居然没有一个模块计算两个日期的月数,像Java、C#之类的高级语言,都会有(date1-date2).months的现成方法,觉得不可思议。说句实在的,一直觉得python 的日期处理模块真心...

    正则表达式

    在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",...

Global site tag (gtag.js) - Google Analytics