各位老师下午好:   我现有两个时间:   开始时间:2011-12-7 14:34:25
   结束时间:2013-6-20 14:34:25
 
   问题一:我想根据两个时间算出总共多少天?
   问题二:我想将算出来的总天数转换成以下结果
         如果时间刚好是整年数就输出 多少年
         如果时间大于一年并且是整月数的就输出 几年零几个月
         如果时间大于一年并且不是整月数就输出 几年零几个月零几天
         如果时间不足一年并且是整月数就输出 多少个月
         如果时间不足一年并且不是整月数就输出 几个月零几天
         如果时间不足一个月就输出 几天
      注意:我的语言是c#

解决方案 »

  1.   


    DateTime d1;
                DateTime.TryParse("2011-12-7 14:34:25", out d1);
                DateTime d2;
                DateTime.TryParse("2013-6-20 14:34:25", out d2);
                int day = (d2 - d1).TotalDays;剩下的邏輯自己去研究吧,不然什麽都不會.
      

  2.   


    无法将类型“double”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?)
    int day = (d2 - d1).TotalDays;
      

  3.   


                DateTime dt1 = DateTime.Parse("2011-12-7 14:34:25");
                DateTime dt2 = DateTime.Parse("2013-6-20 14:34:25");            TimeSpan span = dt2 - dt1;
                int num = span.Days;
    到MSDN看看TimeSpan 类,上面有详细说明和例子!
      

  4.   

    DateTime   t1   =   DateTime.Parse("2015-01-01");     
    DateTime   t2   =   DateTime.Parse("2016-01-01");     
    TimeSpan   ts   =   t2   -   t1;     
    int   days   =   ts.Days;  
      

  5.   

    看它們返回什麽類型,你定義成什麽類型就行啦
    返回double,定義成double
      

  6.   

    int day =(int) (d2 - d1).TotalDays;强制类型转换一下
      

  7.   

    晕!,看看MSDN,怎么这么赖啊。