DateTime dt1 = DateTime.Now;
        DateTime dt2 = DateTime.Now.AddDays(-4);
        TimeSpan ts = dt1 - dt2;

解决方案 »

  1.   

    DateTime d1 =new DateTime(2009,02,1,01,01,01);
    DateTime d2 =new DateTime(2010,01,1,01,01,01);
    TimeSpan span= d2.Subtract(d1);
    span.Days
    可以获得相差的天数
      

  2.   

    DateTime  可以直接加减的
    你一直加就可以了
      

  3.   


    不能说相差年数和月数
    天数是不会变的,一天就是24小时
    但年份和月份大小不固定的,有可能闰年闰月,有可能大月小月,一年有366天,或一月有28天
    所以在TimeSpan没有TotalYears之说(口语里可这样说,哈哈)
      

  4.   

                public List<DateTime> GetDateTimes(DateTime dt1, DateTime dt2)
                {
                    List<DateTime> result = new List<DateTime>();
                    //月份数
                    int months = (dt2.Year - dt1.Year) * 12 + dt2.Month - dt1.Month;
                    for (int i = 0; i <= months; i++)
                    {
                        result.Add(dt1.AddMonths(i));
                    }
                    return result;
                }