/**//// <summary>
        /// 得到一年中的某周的起始日和截止日
        /// 年 nYear
        /// 周数 nNumWeek
        /// 周始 out dtWeekStart
        /// 周终 out dtWeekeEnd
        /// </summary>
        /// <param name="nYear"></param>
        /// <param name="nNumWeek"></param>
        /// <param name="dtWeekStart"></param>
        /// <param name="dtWeekeEnd"></param>
        public static void GetWeek(int nYear, int nNumWeek, out   DateTime dtWeekStart, out   DateTime dtWeekeEnd)
        {
            DateTime dt = new DateTime(nYear, 1, 1);
            dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0, 0, 0);
            dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday);
            dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek + 1);
        }
 /**//// <summary>
        /// 求当前日期是一年的中第几周
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static int WeekOfYear(DateTime curDay)
        {
            int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek);            int days = curDay.DayOfYear;
            int daysOutOneWeek = days - (7 - firstdayofweek);            if (daysOutOneWeek <= 0)
            {
                return 1;
            }
            else
            {
                int weeks = daysOutOneWeek / 7;
                if (daysOutOneWeek % 7 != 0)
                    weeks++;                return weeks + 1;            }  }
我把上面的代码放进一个sqlhelper.cs文件里,现在要在后台调用,怎么调用?1、如已知周数,求起始日和截止日
string week="25";//已知当前是第25周2、已日期,求是当年中的第几周
string date="2013-07-03"//已知当前是第25周

解决方案 »

  1.   

    你这段代码的类名,命名空间?其他地方调用,得先引用
    然后 类名.WeekOfYear
    或者 命名空间.类名.WeekOfYear
      

  2.   

    int aa; string bb="2013"
    aa=sqlhelper.WeekOfYear(DateTime bb)
    这样吗?
      

  3.   

    weekofyear搞定了,不过public static void GetWeek(int nYear, int nNumWeek, out   DateTime dtWeekStart, out   DateTime dtWeekeEnd)
           这个怎么搞,有两个输出的
      

  4.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            int yy = 2012;
            int ww = 23;
            
           DateTime str = sqlhelper.GetWeek(yy, ww, out DateTime (dtWeekStart));
           DateTime end = sqlhelper.GetWeek(yy, ww, out DateTime (dtWeekeEnd));        TextBox2.Text = str;
            TextBox1.Text = end;
        }怎么改,这样报错
      

  5.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            int yy = 2012;
            int ww = 23;
            DateTime dtWeekStart;
            DateTime dtWeekeEnd;
            DateTime str = sqlhelper.GetWeek(yy, ww, out dtWeekStart);
            DateTime end = sqlhelper.GetWeek(yy, ww, out dtWeekeEnd);
     
            TextBox2.Text = dtWeekStart.ToString();
            TextBox1.Text = dtWeekeEnd.ToString();
        }
      

  6.   

    我去 返回类型void你能那样用...
    protected void Button1_Click(object sender, EventArgs e)
        {
            int yy = 2012;
            int ww = 23;
            DateTime dtWeekStart;
            DateTime dtWeekeEnd;
            sqlhelper.GetWeek(yy, ww, out dtWeekStart, out dtWeekeEnd);
     
            TextBox2.Text = dtWeekStart.ToString();
            TextBox1.Text = dtWeekeEnd.ToString();
        } 
      

  7.   

    静态方法直接调用
    类名.GetWeek(参数1,参数2,参数3,参数4);
      

  8.   

    double dVal;
    string sVal = "23";
    double.TryParse(sVal, out dVal);
    //这里是 out 的用法,是用于输出给外面的值.我建议你还是先把最基础的知识给弄好了...怎么调用方法的不会...
      

  9.   

    有out 的是会改写你传入的参数。
    你仔细看一下代码,你不是将dtWeekStart 重新赋值了么?