怎么样计算一段时间内共有多少个月,比如2006/1/1至2006/5/29  谢谢

解决方案 »

  1.   

    转换成datetime
    做减法操作,获取其中的月份字段即可DateTime t1 = new DateTime(2006, 1, 1);
    DateTime t2 = new DateTime(2006, 5, 29);
    Console.WriteLine("There are {0}" + " months between the dates", Math.Abs((t2.Year-t1.Year)*12 + t2.Month - t1.Month));
      

  2.   

    DateTime dt1 = Convert.ToDateTime("2006-5-29");
    DateTime dt2 = Convert.ToDateTime("2006-1-1");
    int intmonth = (dt1.Year-dt2)*12; 
    intmonth += dt1.Month-dt2.Month;int intday = dt1.Day - dt2.Day;if(intday<0) intmonth = intmonth-1;//小于intmounth个月//以上在dt1>=dt2的前提下 intmonth为总月数