int year年, month月;  
  
        //年和月是下拉框绑定好了,今年第几周也是个DropDownList3,当我选择年,就把周数显示出来,再选月,就把他在那个月的第几周显示出来。知道一年有52和53周,但要显示在DropDownList里面        year = int.Parse(DropDownList1.SelectedValue);
        month = int.Parse(DropDownList2.SelectedValue);
        DateTime weekstart = new DateTime(year, month, 1);

解决方案 »

  1.   

    http://www.cnblogs.com/imsong/articles/1115167.htmlhttp://www.cnblogs.com/halia/archive/2010/04/05/1704761.htmlhttp://zhidao.baidu.com/question/135602256.html
      

  2.   

    select datepart(wk,'2011-12-31')
      

  3.   

    sq1 server 2005 字自定义表值函数,返回一年的周的结果 周,周第一天日期,。。create FUNCTION   [dbo].[Func] ()
    RETURNS TABLE 
    AS
    RETURN 
    -- select * from week,wkitem where wkitem.dt between  dt1 and dt2 and wkitem.id=weekid
    with z  as ( 
    select zid=1,datediff(wk,ksrq,jsrq)+1 as zs ,datename(weekday,ksrq) as wkname,DATEADD(wk, 
    DATEDIFF(wk,0,ksrq), -1) as dt1
    from xq where currentxq=1
    union all
    select zid=zid+1,zs, datename(weekday,dt1+7), dt1+7  from z  where zid<zs
    )
    select * from z
      

  4.   

            /// <summary>
            /// 根据所在年月返回天数
            /// </summary>
            /// <param name="year">年</param>
            /// <param name="month">月</param>
            /// <returns></returns>
            protected int GetMonthDayCount(int year, int month)
            {
                return DateTime.DaysInMonth(year, month);
            }        /// <summary>
            /// 根据日期返回星期几
            /// </summary>
            /// <param name="dTime">日期时间 格式:yyyy-MM-dd</param>
            /// <returns></returns>
            public int GetWeekDay(DateTime dTime)
            {
                //确定星期几
                int index = (int)dTime.DayOfWeek;
                return index;
            }        /// <summary>
            /// 获得日期所在年第几周
            /// </summary>
            /// <param name="curDay">日期 格式:yyyy-MM-dd</param>
            /// <returns></returns>
            protected 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;
                }
            }
      

  5.   

    /// <summary>
            /// 获取指定日期在该年中属于第几个星期
            /// </summary>
            /// <param name="date"></param>
            /// <returns></returns>
            public static int GetWeeksInYear(this DateTime date)
            {
                return GetWeeks(date.DayOfYear + (int)new DateTime(date.Year, 1, 1).DayOfWeek);
            }
            /// <summary>
            /// 获取指定日期在该月中属于第几个星期
            /// </summary>
            /// <param name="date"></param>
            /// <returns></returns>
            public static int GetWeeksInMonth(this DateTime date)
            {
                return GetWeeks(date.Day + (int)new DateTime(date.Year, date.Month, 1).DayOfWeek);
            }        private static int GetWeeks(int days)
            {
                int weeks = days / 7;
                if (days % 7 != 0)
                {
                    weeks++;
                }            return weeks;
            }你要5月有第几周简单的很,你把5月1日传进去,得出一个开始周startWeeks,再把5月31日传进去,得到一个结束周endWeeks
    然后
    for(int = startWeeks;i<=endWeeks;i++)
    {
       //5月在这年中对应的周都在了,然后你该干嘛就干嘛
    }
      

  6.   


    什么意思???什么叫再加上个日期???不明白啊
    this是3.5的扩展方法,如果不知道怎么用可以Baidu,也可以直接去掉