当前位置:编程学习 > C#/ASP.NET >>

两个DateTime类型的值相减之后取得时间差(以月份形式!)?

两个DateTime类型的值相减之后取得时间差之后,怎么得到其相隔的月份呢? --------------------编程问答--------------------         DateTime dt1 = new DateTime(2010,4,1);
        DateTime dt2 = new DateTime(2010, 8, 1);

        TimeSpan diff = dt2 - dt1;
        Console.WriteLine(diff.Days/30); --------------------编程问答--------------------

            DateTime dt = new DateTime();
            DateTime dt1 = new DateTime();
            dt.Month - dt1.Month;
--------------------编程问答-------------------- 最简单的办法是TimeSpan.Days/30... --------------------编程问答-------------------- DateTime dt1 = new DateTime(2009, 01, 01);
DateTime dt2 = new DateTime(2010, 04, 30);
int months = (dt2.Year * 12 + dt2.Month) - (dt1.Year * 12 + dt1.Month);
--------------------编程问答-------------------- LZ正解,我比较推重这个写法 --------------------编程问答-------------------- sql sever数据库中有DateDiff函数求两个日期间的间隔数
DateDiff(mm,start_date,end_date)
mm表示两个日期间的间隔数是月
start_date开始时间,(时间类型)
end_date结束时间 --------------------编程问答--------------------
引用 1 楼 peter200694013 的回复:
DateTime dt1 = new DateTime(2010,4,1);
  DateTime dt2 = new DateTime(2010, 8, 1);

  TimeSpan diff = dt2 - dt1;
  Console.WriteLine(diff.Days/30);

up --------------------编程问答--------------------

Select DateDiff(Month,GetDate(),DateAdd(Day,365,GetDate())) As 'DistantMonths'
--------------------编程问答-------------------- lu guo~~~~~~~` --------------------编程问答--------------------
引用 4 楼 lzsh0622 的回复:
DateTime dt1 = new DateTime(2009, 01, 01);
DateTime dt2 = new DateTime(2010, 04, 30);
int months = (dt2.Year * 12 + dt2.Month) - (dt1.Year * 12 + dt1.Month);



顶!! --------------------编程问答-------------------- 楼上的全都在误导人啊。。除了8楼 --------------------编程问答--------------------  DateTime dt1 = new DateTime();
                  DateTime dt2 = new DateTime();
                  int i = dt2.Year - dt1.Year;
                  int j = 0;
                  if (dt2.Month > dt1.Month)
                  {
                      i = i * 12 + dt2.Month - dt1.Month;
                  }
                  else
                  {
                      j = i * 12 + dt1.Month - dt2.Month;
                  } --------------------编程问答-------------------- DateTime d1= DateTime.Parse("");
DateTime d2= DateTime.Parse("");
int month1 = d1.Year * 12 + d1.Month;
int month2 = d2.Year * 12 + d2.Month;
int month = month2 - month1;
--------------------编程问答--------------------  觉得1楼的好
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,