怎样得到两个日期之间间隔哪几个月份?所用到的程序语言为ASP.NET;如题,例如我想得到2013-6到2013-9之间的月份,6月、7月、8月和9月;该怎样写代码???求大神指教!

解决方案 »

  1.   


                DateTime d1 = DateTime.Parse("2013-6");
                DateTime d2 = DateTime.Parse("2013-9");
                for (DateTime dt = d1; dt <= d2; dt = dt.AddMonths(1))
                {
                    Console.WriteLine(dt.Month);//6、7、8、9
                }
      

  2.   

    给你提供一个思路:
    1>先求出两个时间中“年”的差距:int year = firDate.Year - lasDate.Year;
    2>在求出月份的差:int month = firDate.Month - lasDate.Month;
    3>总月份的差int total = year*12 + month;最后根据第一个日期,用for循环,就可以计算出间隔的月份了。
      

  3.   

    看你的是否跨年份了.不垮年份上面2位的就可以.要是跨年份.你还得开始判断 两个年份之差是否>1 位跨年 <=1 为不跨年.
      

  4.   

    DateTime dt1 = Convert.ToDateTime("2008-8-8");DateTime dt2 = System.DateTime.Now;int Year = dt2.Year - dt1.Year;int Month = (dt2.Year - dt1.Year) * 12 + (dt2.Month - dt1.Month);
      

  5.   


    那那个d1有什么用啊?如果一定要少一个变量,你可以写            DateTime d1 = DateTime.Parse("2013-6-1");
                DateTime d2 = DateTime.Parse("2013-9-12");
                for (; d1 <= d2; d1 = d1.AddMonths(1))
                {
                    Console.WriteLine(d1.Month);//6、7、8、9
                }
    实际上,最初的d1和dt的值意思是一样的,都是作为循环的初始值。