1985-6-4 2001-7-8 两个日期相减 怎样才能得到月数 最好能举例 c#语言  谢谢各位

解决方案 »

  1.   

    添加对Microsoft.VisualBasic.dll的引用。
    Microsoft.VisualBasic.DateAndTime.DateDiff函数就可以解决。
      

  2.   

    string s="1985-6-4";
    string ss="2001-7-8";Convert.ToDateTime (S).Subtract (Convert.ToDateTime (SS))
    差值都有了,剩下的自己想
      

  3.   

    先对年进行相减,等到数字-2乘12[month=(2001-1985-2)*12]
    再对小的日期用12月减(6)加上前面的[month=month+(12-6)]   
    大的日期直接加[month=month+7]
      

  4.   

    private void button2_Click(object sender, System.EventArgs e)
    {
    System.DateTime dt1=new DateTime(1985,6,4);
    System.DateTime dt2= new DateTime(2001,7,8);
    Console.WriteLine(Microsoft.VisualBasic.DateAndTime.DateDiff("M",dt1,dt2,
    Microsoft.VisualBasic.FirstDayOfWeek.Sunday,
    Microsoft.VisualBasic.FirstWeekOfYear.FirstFullWeek));}
      

  5.   

    不好意思,是减1
    先对年进行相减,等到数字-1乘12[month=(2001-1985-1)*12]
    再对小的日期用12月减(6)加上前面的[month=month+(12-6)]   
    大的日期直接加[month=month+7]
      

  6.   

    DateTime d1;
    DateTime d2;
    ....
    TimeSpan ts=d2-d1;
    double mLag=ts.TotalDays/30;
      

  7.   

    DateTime lodt1=Convert.ToDateTime("1985-6-4");  
    DateTime lodt2=Convert.ToDateTime("2001-7-8");
    int liDiff=lodt1.Year*12+lodt1.Month-lodt2.Year*12-lodt2.Month;
      

  8.   

    DateTime dt1=DateTime.Parse("2005/5/1");
    DateTime dt2= DateTime.Parse("2005/3/1");
    TimeSpan ts=dt1.Subtract(dt2);
    string aa=ts.ToString().Split(':')[0];
    double  ii=Math.Round(double.Parse(aa)/30);
      

  9.   

    这种问题没必要弄复杂了,就是年-年,然后乘以12 ,再加上月-月就OK了啊。
    private int MonthSpan(DateTime dt1, DateTime dt2)
    {

    return (dt2.Year - dt1.Year) * 12 + dt2.Month - dt1.Month;

    }