如何获取上周末日期
比如今天是 2011-7-15   作为一个参数 传给 某方法就返回这个日期 的上周莫 日期“2011-7-8” 
如果 参数 是 2011-07-14 返回的也应该是 “2011-7-8” 
上月末 是上个月 最后一天 上年末 是 上年的 最后一天 12-31

解决方案 »

  1.   

    DateTime.Now.AddDays(0 - DateTime.Now.Day)
    其余类似
      

  2.   


                DateTime dt = DateTime.Now();
                dt = dt.AddDays(7);
      

  3.   

    如果是周五Console.WriteLine(DateTime.Now.AddDays((5-(int)DateTime.Now.DayOfWeek)-7));
      

  4.   

    DateTime dt = DateTime.Parse("2011-07-14");
    Console.WriteLine(dt.AddDays((5-(int)dt.DayOfWeek)-7));
      

  5.   


                DateTime dt = DateTime.Parse("2011-7-15");//传入的参数            Console.WriteLine("上周末:" + dt.AddDays(((int)DayOfWeek.Friday - (int)dt.DayOfWeek) - 7).ToString("yyyy-MM-dd"));
                Console.WriteLine("上月末:" + dt.AddDays(-dt.Day).ToString("yyyy-MM-dd"));
                Console.WriteLine("上年末:" + new DateTime(dt.Year, 1, 1).AddDays(-1).ToString("yyyy-MM-dd"));
      

  6.   

    void Main()
    {
    DateTime dt = DateTime.Parse("2011-07-14");
    Console.WriteLine(dt.AddDays((5-(int)dt.DayOfWeek)-7));
    Console.WriteLine(dt.AddDays(1 - dt.Day).AddDays(-1));
    Console.WriteLine(dt.Year-1 + "-12-31");
    }
      

  7.   

    参考一下这个
    http://www.cnblogs.com/yintian2/archive/2007/06/13/782310.html
      

  8.   

    返回上周末:Response.Write(DateTime.Now.AddDays(6 - (int)DateTime.Now.DayOfWeek - 8));