c#对时间的处理(待添加)

来源:互联网 发布:手机扫描编辑软件 编辑:程序博客网 时间:2024/06/16 07:42

1:返回在一定的时间段中某个星期数的时间集合

 /// <summary>        /// 返回在一个范围中所选取的星期1-7的年月日的集合        /// </summary>        /// <param name="StartDate">开始日期</param>        /// <param name="EndDate">结束的日期</param>        /// <param name="week">需要提取的星期1-7数组:如(1,2)</param>        /// <returns>返回时间的集合</returns>        public List<string> getDateOfWeek(DateTime StartDate, DateTime EndDate, string[] week)        {            int weekFirst = Convert.ToInt32(StartDate.DayOfWeek);//开始日期第一天是星期几            int startMonth = StartDate.Month;            int startDay = StartDate.Day;            int startYear = StartDate.Year;            int maxMonthDays = DateTime.DaysInMonth(startYear, startMonth);            DateTime outputDate = DateTime.Parse(startYear + "-" + startMonth + "-" + startDay);            List<string> alldate = new List<string>();            for (int i = 0; i < week.Length; i++)            {                startMonth = StartDate.Month;                startDay = StartDate.Day;                startYear = StartDate.Year;                outputDate = StartDate;                if (weekFirst == int.Parse(week[i]))                {                    outputDate = DateTime.Parse(startYear + "-" + startMonth + "-" + startDay);                    alldate.Add(outputDate.ToString());                }                if (weekFirst < int.Parse(week[i]))                {                    startDay = StartDate.Day + (int.Parse(week[i]) - weekFirst);                    outputDate = DateTime.Parse(startYear + "-" + startMonth + "-" + startDay);                    alldate.Add(outputDate.ToString());                }                if (weekFirst > int.Parse(week[i]))                {                    startDay = StartDate.Day - (weekFirst - int.Parse(week[i]));                }                while (outputDate < EndDate)                {                    maxMonthDays = DateTime.DaysInMonth(startYear, startMonth);                    startDay = startDay + 7;                    if (startDay > maxMonthDays)                    {                        startDay = startDay - maxMonthDays;                        startMonth++;                    }                    if (startMonth > 12)                    {                        startMonth = 1;                        startYear++;                    }                    outputDate = DateTime.Parse(startYear + "-" + startMonth + "-" + startDay);                    if (outputDate < EndDate)                    {                        alldate.Add(outputDate.ToString());                    }                }            }            return alldate;        } 
原创粉丝点击