List<DayOfWeek> listWeek = new List<DayOfWeek>();
        listWeek.Add(DayOfWeek.Friday);
        DateTime startTime = new DateTime();
        DateTime endTime = DateTime.Now;
        DateTime currentTime = startTime;
        List<string> listDate = new List<string>();
        while(currentTime < endTime)
        {
            if(listWeek.Contains(currentTime.DayOfWeek))
            {
                listDate.Add(currentTime.ToString("yyyy-MM-dd"));
            }
            currentTime.AddDays(1);
        }

解决方案 »

  1.   


            static void Main(string[] args)
            {
                GetDays(DateTime.Parse("2009-12-1"), DateTime.Parse("2009-12-31"), new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday });
            }        static void GetDays(DateTime dtStart, DateTime dtEnd, DayOfWeek[] days)
            {
                for (DateTime dt = dtStart; dt <= dtEnd; dt = dt.AddDays(1))
                {
                    bool b = false;
                    for (int i = 0; i < days.Length; i++)
                    {
                        if (days[i] == dt.DayOfWeek)
                        {
                            b = true;
                            break;
                        }
                    }
                    if (b)
                        Console.WriteLine(dt.ToString("yyyy-MM-dd"));
                }
            }