首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#获取指定月指定周的日期范畴 根据当前时间获取本月开始日期和结束日期

2012-11-09 
C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期/// summary/// 获取指定月份指

C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期

        /// <summary>        /// 获取指定月份指定周数的开始日期        /// </summary>        /// <param name="year">年份</param>        /// <param name="month">月份</param>        /// <param name="index">周数</param>        /// <returns></returns>        private DateTime GetStartDayOfWeeks(int year, int month, int index)        {            if (year < 1600 || year > 9999)            {                MessageBox.Show("年份超限");                return DateTime .MinValue ;            }            if (month < 0 || month > 12)            {                MessageBox.Show("月份错误");                return DateTime .MinValue ;            }            if (index < 1)            {                MessageBox.Show("周数错误");                return DateTime.MinValue;            }            DateTime startMonth = new DateTime(year, month, 1);  //该月第一天            int dayOfWeek = 7;            if (Convert.ToInt32(startMonth.DayOfWeek.ToString("d")) > 0)                dayOfWeek = Convert.ToInt32(startMonth.DayOfWeek.ToString("d"));  //该月第一天为星期几            DateTime startWeek = startMonth.AddDays(1 - dayOfWeek);  //该月第一周开始日期            //DateTime startDayOfWeeks = startWeek.AddDays((index - 1) * 7);  //index周的起始日期            DateTime startDayOfWeeks = startWeek.AddDays(index * 7);  //index周的起始日期            if ((startDayOfWeeks - startMonth.AddMonths(1)).Days > 0)  //startDayOfWeeks不在该月范围内            {                MessageBox.Show("输入周数大于本月最大周数");                return DateTime.MinValue;            }            return startDayOfWeeks;        }


 

            //当前时间            DateTime dt = DateTime.Now;            //本月第一天时间                DateTime dt_First = dt.AddDays(1 - (dt.Day));            //获得某年某月的天数              int year = dt.Date.Year;            int month = dt.Date.Month;            int dayCount = DateTime.DaysInMonth(year, month);            //本月最后一天时间              DateTime dt_Last = dt_First.AddDays(dayCount - 1);



 

热点排行