不要复制别人的!自己有实际应用的代码!谢谢!

解决方案 »

  1.   

    DateTime.Now().Day  判断当天是这个月的第几天第一几天
      

  2.   

    select datepart(week,getdate())-datepart(week,right('0'+cast(month(getdate()) as varchar(2)),2)+'/01/'+cast(year(getdate()) as varchar(4))) as wofm
      

  3.   

    DateTime.Now().Day  判断当天是这个月的第几天 ,然后再除以一个7不就行了,如果结果小于等于1就等于1,大于1,是几就是几.
    int now=DateTime.Now().Day/7
    if(now<=1)
    Console.WriteLine("1");
    else
    Console.WriteLine(now.tostring());
      

  4.   

    当前日期为dt,
    首先,获取当前日期的星期几dt.DayOfWeek
    再根据当前日期dt和星期几dt.DayOfWeek来求得当前日期dt所在周的开始日期(这里以周日作为一周的开始日期),
    开始日期:dt.AddDays(-(dt.DayOfWeek))
    如果开始日期和当前日期不是同一月份,
    那当前日期应该属于第一周,
    如果开始日期和当前日期是同一月份,
    用开始日期的日部分除以7,
    如果除的断,当期日期所属周为:开始日期除7的商,否则为商+1
      

  5.   

      static void Main(string[] args)
            {         //如何计算当前日期是本月的第几周?            //得到当前为这个月的第几天
                int day = Convert.ToInt32(DateTime.Now.Day);
                Console.WriteLine("当前是这个月的第" + day + "天");
                //得到是当前年的哪一天
                int yearday = Convert.ToInt32(DateTime.Now.DayOfYear);
                Console.WriteLine(yearday);
                //得到当前年
                int year = Convert.ToInt32(DateTime.Now.Year);
                Console.WriteLine(year);
                //得到月份
                int month = Convert.ToInt32(DateTime.Now.Month);
                int totalDays = 0;
                bool inRn;//是否为闰年
                if (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0)
                {
                    inRn = true;
                }
                else
                {
                    inRn = false;//平年
                }
                for (int i = 1900; i < year; i++)
                {
                    /* 判断闰年或平年,并进行天数累加 */
                    if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
                    { // 判断是否为闰年
                        totalDays = totalDays + 366; // 闰年366天
                    }
                    else
                    {
                        totalDays = totalDays + 365; // 平年365天
                    }
                }
                Console.WriteLine(totalDays);
                int days = 0;
                int beforeDays = 0;
                for (int i = 1; i <= month; i++)
                {
                    switch (i)
                    {
                        case 1:
                        case 3:
                        case 5:
                        case 7:
                        case 8:
                        case 10:
                        case 12:
                            days = 31;
                            break;
                        case 2:
                            if (inRn)
                            {
                                days = 29;
                            }
                            else
                            {
                                days = 28;
                            }
                            break;
                        default:
                            days = 30;
                            break;
                    }
                    if (i < month)
                    {
                        beforeDays = beforeDays + days;
                    }            }
                Console.WriteLine("此月份之前的天数" + beforeDays);
                totalDays = totalDays + beforeDays; // 距离1900年1月1日的天数
                int firstDayOfMonth; // 存储当月第一天是星期几:星期日为0
                int temp = 1 + totalDays % 7; // 从1900年1月1日推算
                if (temp == 7)
                { // 求当月第一天
                    firstDayOfMonth = 0; // 周日
                }
                else
                {
                    firstDayOfMonth = temp;
                }
                Console.WriteLine("该月第一天是星期" + firstDayOfMonth);        }
    //还真没想到这么麻烦
      

  6.   

    public   static   int   GetWeekOfNow()   
      {   
        
      //今天是这个月的的几天   
      int   days   =   DateTime.Today.Day;   
      int   weeks   =   0;   
      for(int   i=1;i<=days;i++)   
      {   
      //返回日期   
      DateTime   dayDate   =   new   DateTime(DateTime.Now.Year,DateTime.Now.Month,i);   
      //如果是星期一就算一周   
      if(Convert.ToInt32(dayDate.DayOfWeek)   ==   1)   
      {   
      weeks++;   
      }   
      }   
      if(weeks   ==   0)   
      {   
      weeks++;   
      }   
      return   weeks;   
      }
      

  7.   

    算本月1号是星期几A,再算今天星期几B,今天是这个月的第几天C。
    if(A>=B)
       结果=C/7+1;
    else if(A<B)
       结果=C/7
      

  8.   

    这个月1号星期几A,今天星期几B,今天是这个月的第几天C。
    if(A>=B)
       结果=A/7+1;
    else
       结果=A/7;
      

  9.   

    return (DateTime.Now.Day- DateTime.Now.DayOfWeek+6)/7+1;
      

  10.   

    DateTime dt=DateTime.Now.Date;
    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++;
    }
      

  11.   

    假设当月1日对应星期x( x = 0..6) 0代表星期日
    则第y天是
     (y % 7) + (x != 0)
      

  12.   


    Date dt=new Date();
    int md=dt.getDate();//DAY_OF_MONTH
    int wd=dt.getDay();//DAY_OF_WEEK
    int i=md-wd;
    int ii=1;//WEEK_OF_MONTH
    if(i>0){
    ii=i/7+2;
    }
    System.out.println(ii);
      

  13.   


    19楼这个是对的
    不过最后应该  return weeks+1 吧
      

  14.   

    问题的实质是十进制与7进制的转换而已;
    不失一般性,假定星期天为一周之开头,则为0,依次星期1 2 3..6分别用1--6标识以本月为例,可以构造以下映射关系:
    -----------------------------
          日期:  1   2    3    4     5    6    7    8 【十进制】
    周数-星期数: 13  14   15   16    20   21   22   23 【7进制】
    -----------------------------
    解析:
         13代表第一周的星期三
         若求某天是第几周,即求此映射关系里面的7进制数据的第二位解法:
          假定本月第一天为x(0<=x<=6 ),求n号是第m周
    m=1+(n-1)/7+[(n-1)%7+x]/7
    至于x的算法可以通过常用的lib或者通过蔡勒公式来获取-----------------------------
    附录-蔡勒(Zeller)公式w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:月(m大于等于3,小
    于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1
    月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。
      

  15.   

    提供给大家一个EXCEL中实现的方法:=ROUNDUP((ROUNDUP(A2,)-ROUNDUP("2009-1-1",2)+(IF(WEEKDAY(DATE(YEAR(NOW()),1,1))-1=0,7,WEEKDAY(DATE(YEAR(NOW()),1,1))-1)))/7,)
      

  16.   

    SQL中 实现方法  设定查'2009-12-9'在12月的第几周 
    select ((day('2009-12-9')+(case when (datepart(dw,(dateadd(dd, -(day('2009-12-25')-1),'2009-12-25')))+6)%7<>0 then (datepart(dw,(dateadd(dd, -(day('2009-12-25')-1),'2009-12-25')))+6)%7
            else 7 end )-2)/7+1   )
      

  17.   

            public int GetWeekOfMonth(DateTime date)
            {
                return (date.Day - (int)date.DayOfWeek ) / 7 + 1;
            }
      

  18.   

    用 week("时间")=week(now())
      

  19.   

    看你们折腾半天也没个结果的,我把我的先发出来,有错误的话欢迎砖头。
    回复只为方便后来人。
    double day = dt.Day;
    double iDayOfWeek = (double)(Convert.ToInt32(dt.DayOfWeek));
    int NumOfWeek = Convert.ToInt32(Math.Round((day + 7 - iDayOfWeek) /7, 0));