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

您所在的位置:网站首页 如何根据年月日计算星期几的天数 C#实现的根据日期得到今天是星期几

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

2024-07-13 01:08| 来源: 网络整理| 查看: 265

代码如下: 根据年月日计算星期几(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 function showDateCount(year,weekNum){ var date=new Date(year,0,(7*weekNum)); var FD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+1)) var Monday=FD.getYear()+"-"+(FD.getMonth()+1)+"-"+FD.getDate()//一周的第一天  var LD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+7)) var Sunday=LD.getYear()+"-"+(LD.getMonth()+1)+"-"+LD.getDate() //一周的最后一天 alert(year+"年第"+weekNum+"周是"+Monday+"至"+Sunday)}

 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));        }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3