public static DateTime[] GetWeekRange(DateTime date)
        {
            DateTime time3;
            DateTime time1 = new DateTime(date.Year, 1, 1);
            int num1 = (int) ((((DayOfWeek) (Functions.GetWeekOfYear(date) * 7)) - time1.DayOfWeek) - DayOfWeek.Monday);
            DateTime time2 = time1.AddDays((double) num1);
            if (num1 > 7)
            {
                time3 = time2.AddDays(-6);
            }
            else
            {
                time3 = time1;
            }
            return new DateTime[] { time3, time2 } ;
        }

解决方案 »

  1.   

    这个函数为什么会出错。哪个高手帮忙解一下。
            public static DateTime[] GetWeekRange(DateTime date)
            {
                DateTime time3;
                DateTime time1 = new DateTime(date.Year, 1, 1);
                int num1 = (int) ((((DayOfWeek) (Functions.GetWeekOfYear(date) * 7)) - time1.DayOfWeek) - DayOfWeek.Monday);
                DateTime time2 = time1.AddDays((double) num1);//这里错了。应该怎么改
                if (num1 > 7)
                {
                    time3 = time2.AddDays(-6);
                }
                else
                {
                    time3 = time1;
                }
                return new DateTime[] { time3, time2 } ;
            }
      

  2.   

    取日期需要这么麻烦吗?
    DateTime.Now.Date
    我看了到麻木了
      

  3.   

    int num1 = (int) ((((DayOfWeek) (Functions.GetWeekOfYear(date) * 7)) - time1.DayOfWeek) - DayOfWeek.Monday);
    上面这一句的Functions哪里来的???
      

  4.   

    这个函数为什么会出错。哪个高手帮忙解一下。
            public static DateTime[] GetWeekRange(DateTime date)
            {
                DateTime time3;
                DateTime time1 = new DateTime(date.Year, 1, 1);
                int num1 = (int) ((((DayOfWeek) (Functions.GetWeekOfYear(date) * 7)) - time1.DayOfWeek) - DayOfWeek.Monday);//这里错了。应该怎么改
                return new DateTime[] { time3, time2 } ;
            }
    运算符"-"无法应用于Int和DayOfWeek类型的操作数
      

  5.   

    你单步调试看 num1是否得到整型值
    错的那句 我放到工程里执行没有错
    但在你这里,可能DateTime time1 = new DateTime(date.Year, 1, 1);
    中DateTime()中的参数没有设置完 你把它初始完 再试一下
      

  6.   

    int num1 = (int) ((((DayOfWeek) (Functions.GetWeekOfYear(date) * 7)) - time1.DayOfWeek) - DayOfWeek.Monday);
    就这句错了。
      

  7.   

    public static int GetWeekOfYear(DateTime date)
    begin
    end
      

  8.   

    刚才那个搞定了。又来了个
            public static int WeekdaysIn(DayOfWeek weekDay, DateTime startDate, DateTime endDate)
            {
                TimeSpan span1 = (TimeSpan) (endDate - startDate);
                int num1 = span1.Days;
                int num2 = num1 / 7;
                int num3 = ((int) startDate.DayOfWeek) + (num1 % 7);
                if (weekDay < startDate.DayOfWeek)
                {
                    weekDay += (DayOfWeek.Saturday | DayOfWeek.Monday);//这里有错,怎么改。
                }
                if (weekDay <= ((DayOfWeek) num3))
                {
                    num2++;
                }
                return num2;
            }