DateTime time = DateTime.Now.Date;
我使用这样的方法得到的当前的时间!!
我应该怎样才能把月份减去3个月那得到那一天的时间??
我们已经默认日期就是每月的第一天 
所以只需要月份相减就可以比如说今天是2009-3-5 我想得到2009-1-1
再比如今天是 2009-1-5 我怎样才能得到 2008-10-1求教高手!!

解决方案 »

  1.   

    DateTime dt = xxxxx;
    dt.AddMonths(-3);
      

  2.   

    DateTime time = DateTime.Now.AddMonths(-3);
      

  3.   

            DateTime dt = DateTime.Now;
            dt = dt.AddMonths(-3);
            dt = DateTime.Parse(dt.ToString("yyyy-MM-01"));
      

  4.   

    //上个月,减去三个月份 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-3).ToShortDateString();//下个月,加去一个月份 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
    //今天 DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一 DateTime.Now.AddDays(-1).ToShortDateString();//明天,同理,加一 DateTime.Now.AddDays(1).ToShortDateString();
      

  5.   

    DateTime dt = DateTime .now;
    dt.AddMonths(-3); 
      

  6.   

    是这样 我的程序要求我通过调用后台服务器的时间得到的一个日期
    然后         DateTime endDate = InvoiceDetailManager.GetServerDateTime();
            endDate.AddMonths(-3);
            
            Response.Write(endDate);这样的到的值就没有改变
      

  7.   

    Response.Write(endDate.AddMonths(-3)); 
      

  8.   


    你要赋值,你把endDate的Months Add(-3),这样的返回是一个时间,但你没把计算出来后的这个时间保存在endDate里面,得到的值当然没变啦
    所以你要看清楚 dt = dt.AddMonths(-3); 这句话的意思~~
      

  9.   


    这样写是不行的dt = dt.AddMonths(-3);
    必须要赋值才行,因为这是值类型,不是引用类型。
      

  10.   

    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-3).ToShortDateString();