也就是求上周日和本周六的日期

解决方案 »

  1.   

    获得本周的周六和周日public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)
    {    
                DateTime first=System.DateTime.Now;
                DateTime last=System.DateTime.Now;
                switch (date.DayOfWeek)
                {                
                    case System.DayOfWeek.Monday:
                        first=date.AddDays(-1);
                        last=date.AddDays(5);
                        break;
                    case System.DayOfWeek.Tuesday:
                        first=date.AddDays(-2);
                        last=date.AddDays(4);
                        break;
                    case System.DayOfWeek.Wednesday:
                        first=date.AddDays(-3);
                        last=date.AddDays(3);
                        break;
                    case System.DayOfWeek.Thursday:
                        first=date.AddDays(-4);
                        last=date.AddDays(2);
                        break;
                    case System.DayOfWeek.Friday:
                        first=date.AddDays(-5);
                        last=date.AddDays(1);
                        break;
                    case System.DayOfWeek.Saturday:
                        first=date.AddDays(-6);
                        last=date;
                        break;
                    case System.DayOfWeek.Sunday:
                        first=date;
                        last=date.AddDays(6);
                        break;                
                }
                firstdate=first;
                lastdate=last;
    }
      //调用
    DateTime firstdate;    
    DateTime lastdate;
    DateTime date=System.DateTime.Now;ConvertDateToWeek(date,out firstdate,out lastdate);略做修改http://singlepine.cnblogs.com/articles/255153.html
      

  2.   

    DateTime PervSunday =DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek);
    DateTime CurrSaturday =DateTime.Now.AddDays((6-(int)DateTime.Now.DayOfWeek));
      

  3.   

    补充一下,西方人和中国人习惯的星期日定义不同,西方人习惯一周第一天是星期天,
    中国人习惯最后一天是星期天,  所以代码略作修改.En为西方,Cn为中方
    DateTime EnPervSunday =DateTime.Now.AddDays(-7-(int)DateTime.Now.DayOfWeek);
    DateTime EnCurrSaturday =DateTime.Now.AddDays(6-(int)DateTime.Now.DayOfWeek);
    DateTime CnPervSunday =DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek==0?7:(int)DateTime.Now.DayOfWeek));
    DateTime CnCurrSaturday =DateTime.Now.AddDays(6-((int)DateTime.Now.DayOfWeek==0?7:(int)DateTime.Now.DayOfWeek));
      

  4.   

    指定日期所在周的任意一天
    SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
    指定日期所在周的任意星期几
    --A.  星期天做为一周的第1天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)--B.  星期一做为一周的第1天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)