比如: 时间:2010-08-19  为当年的第几周?

解决方案 »

  1.   

    dt = DateTime.Today.DayOfWeek.ToString();
      

  2.   

                DateTime dt = DateTime.Now;            Console.WriteLine(dt.DayOfYear/7);
      

  3.   

    http://blog.csdn.net/rubbish_only/archive/2006/09/21/1204520.aspx
    参考
      

  4.   


      private int DatePart(System.DateTime dt)
            {
                int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几
                int daydiff = (-1) * (weeknow + 1);//今日与上周末的天数差
                int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;//上周末是本年第几天
                int weeks = days / 7;
                if (days % 7 != 0)
                {
                    weeks++;
                }
                //此时,weeks为上周是本年的第几周
                return (weeks + 1);
            }
        DateTime dt = Convert.ToDateTime("2010-08-19");
                
                Response.Write(DatePart(dt).ToString());  //结果:34
      

  5.   

    dayofyear / 7 + (dayofyear % 7) > 0 ? 1 : 0;
      

  6.   

    public int Weekofyear(DateTime dtime)       
     {      
     int weeknum = 1;   //默认的周数从1开始        
     DateTime firstdate = DateTime.Parse(dtime.Year.ToString() + "-1" + "-1");    
     DayOfWeek firstweek = firstdate .DayOfWeek;   
     for (int i = (int)firstweek + 1; i <= dtime.DayOfYear; i = i + 7)           
     {     
         weeknum = weeknum + 1;           
     }           
     return weeknum ;
    }
    时间范围
      

  7.   


                //目标日期
                DateTime dt = DateTime.Now;            //该年1月1日所在的周,定义为第一周,sunday为0,monday为1
                DateTime dtFirst = new DateTime(dt.Year, 1, 1);            //目标日期距离第一天的天数
                int daysCount = Convert.ToInt32((dt - dtFirst).TotalDays);            //将第一天的日期补齐
                daysCount += Convert.ToInt32(dtFirst.DayOfWeek);            //目标日期所在的周
                int weeksCount = daysCount / 7;            //目标日期所在的天
                int dayIdx = Convert.ToInt32(dt.DayOfWeek);            //显示结果
                Console.WriteLine("日期" + dt.ToShortDateString() + "是第" + (weeksCount + 1).ToString() + "周的第" + dayIdx.ToString() + "天。");