为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C#实现的根据日期得到今天是星期几

2017-12-20 12页 doc 30KB 24阅读

用户头像

is_983143

暂无简介

举报
C#实现的根据日期得到今天是星期几C#实现的根据日期得到今天是星期几 2009-05-20 12:57 转自: 算法如下: 基姆拉尔森计算公式: 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来代入公式计算。 但是在测试的时候发现有点出入,就是公式存在一点问题,得稍做修改: W= (d+2*m+3*(m+1)/...
C#实现的根据日期得到今天是星期几
C#实现的根据日期得到今天是星期几 2009-05-20 12:57 转自: 算法如下: 基姆拉尔森计算公式: 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来代入公式计算。 但是在测试的时候发现有点出入,就是公式存在一点问,得稍做修改: W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 +1 代码如下: 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);)#region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /**//// /// 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// /// 年 /// 月 /// 日 /// public static 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+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; } #endregion 在开发网站的过程中,如开发新闻网站、论坛、聊天室等,都需要获取当前系统日期,本实例介绍如何获取系统日期并将系统日期用不同的格式显示出来。实例运行结果如图7.1所示。 获取当前系统日期并将其转化为短日期格式的代码如下: Label1.Text = System.DateTime.Now.ToShortDateString(); 获取当前系统日期并将其转化为长日期格式的代码如下: Label2.Text = System.DateTime.Now.ToLongDateString(); 注意:DateTime对象中的Now属性可以用DateTime对象中的Today属性代替,DataTime.Now属性与DataTime.Today属性都是用来获取当前系统时间的。 在开发游戏类网站时,往往需要将玩家的闯关时间下来,设立排行榜,增强游戏的趣味 性。本实例将会介绍如何获取当前系统时间并将其格式化。实例运行结果如图7.2所示。 获取当前系统时间并将其转化为短时间格式的代码如下: Label1.Text = System.DateTime.Now.ToShortTimeString(); 获取当前系统日期并将其转化为长日期格式的代码如下: Label2.Text = System.DateTime.Now.ToLongTimeString(); 一些网站的首页会将当前系统日期和时间都显示出来,以美化网站。本实例介绍如何同时获 得系统当前日期和时间。实例运行结果如图7.3所示。 同时获得系统当前日期和时间的代码如下: Label1.Text = DateTime.Now.ToString(); 在本实例中,主要实现的是使用DateTime结构的DayofWeek属性来获取当前日期是星期几, 并将返回指定日期是星期几的英文单词转化为相应的汉字。代码如下: public static string dt; public static string week; protected void Button1_Click(object sender, EventArgs e) { //获取当前日期是星期几 dt = DateTime.Today.DayOfWeek.ToString(); //根据取得的英文单词返回汉字 switch (dt) { case "Monday": week ="星期一"; break ; case "Tuesday": week = "星期二"; break; case "Wednesday": week = "星期三"; break; case "Thursday": week = "星期四"; break; case "Friday": week = "星期五"; break; case "Saturday": week = "星期六"; break; case "Sunday": week = "星期日"; break; } //利用TextBox文本框显示当前日其为星期几 TextBox1.Text = week; } } 本实例主要是获取指定年份中的天数,首先使用DateTime结构的Year属性来取得年份,然后根据DateTime结构的IsLeapYear方法来判断取得年份是否为闰年,如果为闰年,则显示“366天”,否则显示“365天”。代码如下: protected void Button1_Click(object sender, EventArgs e) { //判断是否是闰年 if (DateTime.IsLeapYear(Convert.ToInt32(DateTime.Now.Year.ToString()))) { //如果是闰年 TextBox1.Text = "366"; } else { //如果不是闰年 TextBox1.Text = "365"; } } 本实例主要获取当前月的天数,使用DateTime结构的Year和Month属性取得当前日期所在的年和月,然后在switch语句中根据不同的年份和月份返回指定月份的天数。代码如下: public static int year; public static int month; public static int days; protected void Button1_Click(object sender, EventArgs e) { year = DateTime.Now.Year; month = DateTime.Now.Month; //得到当前月的天数 switch (month) { case 1: days = 31; break; case 2: if (DateTime.IsLeapYear(year)) { //闰年二月为29天 days = 29; } else { //不是闰年,二月为28天 days = 28; } break; case 3: days = 31; break; case 4: days = 30; break; case 5: days = 31; break; case 6: days = 30; break; case 7: days = 31; break; case 8: days = 31; break; case 9: days = 30; break; case 10: days = 31; break; case 11: days = 30; break; case 12: days = 31; break; } TextBox1.Text = days.ToString(); } 本实例主要实现“取得当前日期的前一天”功能,使用了DateTime结构的AddDays方法,在指定的DateTime实例的值上加上“-1”天取得所要的结果。代码如下: protected void Button1_Click(object sender, EventArgs e) { TextBox1.Text = DateTime.Now.AddDays(-1).ToString(); } 在DataTime结构中,与AddDays方法实现功能相类似的方法如表7.1所示。 表7.1 将日期格式化为指定格式常用方法 方 法 名 称 说 明 Add 将指定的TimeSpan的值加到实例的值上 AddHours 将指定的小时数加到实例的值上 AddMilliseconds 将指定的毫秒数加到实例的值上 AddMinutes 将指定的分钟数加到实例的值上 AddMonths 将指定的月份数加到实例的值上 AddSeconds 将指定的秒数加到实例的值上 AddYears 将指定的年份加到实例的值上 TimeSpan 对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。在本实例中,首先定义了两个时间dateTime1和 dateTime2,并分别为其赋 值,然后定义了一个TimeSpan对象,并将dateTime1和dateTime2之间的时间间隔赋给 TimeSpan对象。代码如下: DateTime dateTime1 = DateTime.Parse(DateTime.Now.AddSeconds(30).ToString()); DateTime dateTime2 = DateTime.Parse(DateTime.Now.ToString()); TimeSpan timeSpan = dateTime1 - dateTime2; TextBox1.Text =timeSpan.ToString(); //------------------------------------------------------------------------------ ----------------------------- 一周从周日算起 DateTime mDatetime=new DateTime(year,1,1);//year为要求的那一年 int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几 days=(double)(6-firstweekfirstday); DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一 fisrtday=MDatetime.AddDays(week*7);//第N周第一天 lastday=MDatetime.AddDays(week*7+6);//第N周最后一天 一周从周一算起 DateTime mDatetime=new DateTime(year,1,1);//year为要求的那一年 int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几 days=(double)(7-firstweekfirstday); DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一 fisrtday=MDatetime.AddDays(week*7);//第N周第一天 lastday=MDatetime.AddDays(week*7+6);//第N周最后一天 javascript: New Document c# //monthCalendar1是日历控件 System.Globalization.ChineseLunisolarCalendar c = new ChineseLunisolarCalendar(); private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) { DateTime MySelectDate = e.End; txt_nonglidate.Text = string.Format(CultureInfo.InstalledUICulture, "{0}-{1}-{2}", c.GetYear(MySelectDate), c.GetMonth(MySelectDate), c.GetDayOfMonth(MySelectDate)); }
/
本文档为【C#实现的根据日期得到今天是星期几】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索