一个时间段,比如是2011-09-01 到2011-09-30,现在我要获取这个时间段里面,所有星期一的日期,格式也是0000-00-00

解决方案 »

  1.   

    遍历一下,日期类型里有判断星期几的函数,如果是星期一则MARK
      

  2.   


    static void Main(string[] args)
            {
                DateTime dt1 = DateTime.Parse("2011-09-01");
                DateTime dt2 = DateTime.Parse("2011-09-30");
                DateTime[] dts = GetAllDays(dt1, dt2);
                foreach (DateTime var in dts)
                {
                    if (var.DayOfWeek == DayOfWeek.Monday)
                    {
                        Console.WriteLine(var.ToShortDateString());
                    }
                }
                Console.ReadKey();
            }
            private static DateTime[] GetAllDays(DateTime dt1, DateTime dt2)
            {
                List<DateTime> listDays = new List<DateTime>();
                DateTime dtDay = new DateTime();
                for (dtDay = dt1; dtDay.CompareTo(dt2) <= 0; dtDay = dtDay.AddDays(1))
                {
                    listDays.Add(dtDay);
                }
                return listDays.ToArray();
            }结果:
    2011-09-05
    2011-09-12
    2011-09-19
    2011-09-26
      

  3.   

    select datettime from test where datepart(weekday,datettime)=2 and datettiem between '2011-09-01' and '2011-09-30'
      

  4.   


    public List<DateTime> getData(DateTime bTime, DateTime eTime, DayOfWeek dayOfWeek)
        {
            List<DateTime> result = new List<DateTime>();        for (int i = 0; bTime.DayOfWeek != dayOfWeek; i++)
            {            if (i == 7)
                {
                    break;
                }
                else
                {
                    bTime.AddDays(1);
                }
            }
            for(;bTime<=eTime;bTime.AddDays(7))
            {
                result.Add(bTime);
            }
                    return result;
        }
      

  5.   

                string year1 = TextBox1.Text.Trim();
                string year2=TextBox2.Text.Trim();
                int length1 = year1.Length - 8;
                int length2 = year1.Length - 8;
                int startTime =Convert.ToInt32(year1.ToString().Substring(8, length1));
                int endTime = Convert.ToInt32(year1.ToString().Substring(8, length2));
                string str = "";
                for (int j = startTime; j <= endTime; j++)
                {
                    string date = year1 + "-" + j;
                    string week = ((DateTime.Parse(date)).DayOfWeek).ToString();
                    if (week == "Monday")
                    {
                        str += year1 + "-" + j + "\n";
                    }
                }
                Response.Write(str);
      

  6.   

    select convert(nvarchar(10),datettime,23)from test where datepart(weekday,datettime)=2 and datettime<='2011-09-20' and datettime>='2011-09-14'