我有两个日期 a为2008-7-22 10:12:55 b为2008-7-23 15:22:23 我想获得两个日期间的天数,使用Subtract方法,返回TimeSpan类型变量c c.Days取得的天数竟然为0,但是应该为 1 啊,这是怎么回事呢???还有没有其它方法!!

解决方案 »

  1.   

     DateTime dt0 = Convert.ToDateTime("2008-7-22 10:12:55");
                DateTime dt1 = Convert.ToDateTime("2008-7-23 15:22:23");
                TimeSpan ts = (TimeSpan)(dt1 - dt0);
                Response.Write(ts.TotalDays.ToString());
      

  2.   

    Days = 1 ,TotalDays = 1.2xxxxx
      

  3.   

    DateTime dt1 = Convert.ToDateTime("2008-7-22 10:12:55");
    DateTime dt2 = Convert.ToDateTime("2008-7-23 15:22:23");
    System.TimeSpan diff = dt2.Subtract(dt1);
    MessageBox.Show(diff.Days.ToString());------------------------------------------------------
    1
    ---------------------------
    确定   
    ---------------------------
      

  4.   

    不能呀!我试了,是1呀!        DateTime a = DateTime.Parse("2008-7-22 10:12:55");
            DateTime b = DateTime.Parse("2008-7-23 15:22:23");        TimeSpan c = b.Subtract(a);        Response.Write(c.Days.ToString());
    是不是你时间转换错了?
      

  5.   

    比如当前日期是2008-7-23 14:40:25数据库两条记录日期分别是2008-7-22 12:52:23 和 2008-7-21 8:26:32用当前日期分别减去两天记录日期,使用TotalDays结果两个都为1.xxx,应该第一个是 1 ,第二个是 2 啊!
      

  6.   

    int days = Convert.ToInt32(Math.Ceiling(span.TotalDays)); 
      

  7.   

    时间转换使用下面语句,DeclareDate数据库日期字段名Convert.ToDateTime(DataBinder.Eval(e.Row.DataItem, "DeclareDate"))
      

  8.   

    DateTime a = DateTime.Parse("2008-7-21 17:45:00");
    DateTime b = DateTime.Parse("2008-7-23 15:03:50");TimeSpan c = b.Subtract(a);Response.Write(c.Days.ToString());结果是1 应该是 2
      

  9.   


    DateTime dt0 = Convert.ToDateTime("2008-7-22 10:12:55"); 
    DateTime dt1 = Convert.ToDateTime("2008-7-23 15:22:23"); 
    TimeSpan ts = (TimeSpan)(dt1 - dt0); 
    Response.Write(Convert.ToInt32(ts.TotalDays).ToString());
      

  10.   

    要实现根据不同时间,Gridview的记录颜色不一样问题好像找到了,是时间问题,只用2008-7-23减去2008-7-21就可以,不要后面的时分秒!十分感谢大家!!!