日期:2014-05-18  浏览次数:20468 次

查询两个日期间的星期六(速度点谢谢)
就是两个时间 自己输入的 然后在 输入一个 星期六(或者其它的星期几) 然后搜索 出来这两个日期间的星期六(或者其它星期几)

------解决方案--------------------

C# code


   static void Main(string[] args)
            {
                DateTime beginDate = new DateTime(2012, 1, 1);
                DateTime endDate = new DateTime(2012, 2, 1);
                int showWeekOfDay = 6;  //这是要查询的出所有的周六              

                beginDate = beginDate.AddDays(Math.Abs(showWeekOfDay - (Convert.ToInt32(beginDate.DayOfWeek))));

                Console.WriteLine(beginDate);

                do
                {
                    beginDate = beginDate.AddDays(7);
                    Console.WriteLine(beginDate);
                } while ((beginDate < endDate));

                Console.ReadLine();
            }

------解决方案--------------------
C# code

          DateTime dtStartTime = DateTime.Parse(txtStartTime2.Text);//开始时间
            DateTime dtEndTime = DateTime.Parse(txtEndTime2.Text);//结束时间
            TimeSpan tsCount = dtEndTime.Subtract(dtStartTime);//两时间之差
            int intCount = int.Parse(tsCount.TotalDays.ToString()) + 1;
           for (int i = 0; i < intCount; i++)
            {
                string weeks = dtStartTime.DayOfWeek.ToString();
                //比较星期if(weeks=='...........').......
                dtStartTime = dtStartTime.AddDays(1);//当前时间+一天
            }//end for

------解决方案--------------------
探讨
C# code


static void Main(string[] args)
{
DateTime beginDate = new DateTime(2012, 1, 1);
DateTime endDate = new DateTime(2012, 2, 1);
……

------解决方案--------------------

这个方法周日是0,所有如果输入是7的话,把输入值7变成0

C# code

static void Main(string[] args)
            {
                DateTime beginDate = new DateTime(2012, 1, 1);
                DateTime endDate = new DateTime(2012, 2, 1);
                int showWeekOfDay = 6;  //这是要查询的出所有的周六              

                beginDate = beginDate.AddDays(Math.Abs(showWeekOfDay - Convert.ToInt32(beginDate.DayOfWeek)));

                Console.WriteLine(beginDate);

                do
                {
                    beginDate = beginDate.AddDays(7);

                    if (beginDate > endDate)
                        break;                    
                    Console.WriteLine(beginDate);

                } while (beginDate < endDate);

                Console.ReadLine();
            }

------解决方案--------------------
C# code

   Console.Write("请输入第一个时间:");
            DateTime TimeStart = Convert.ToDateTime(Console.ReadLine());
            Console.Write("请输入第二个时间:");
            DateTime TimeLast = Convert.ToDateTime(Console.ReadLine());
            int Subtraction =System.Math.Abs(int.Parse(TimeStart.Subtract(TimeLast).TotalDays.ToString()));
            for (int i = 0; i <= Subtraction; i++)
            {
                if (TimeStart.AddDays(i).DayOfWeek.ToString().ToLower() == "saturday")
                {
                    Console.WriteLine("日期:"+TimeStart.AddDays(i).ToString()+"是星期六");
                }
            }
            Console.ReadKey();